linux文本处理三剑客之二:awk

本文详细介绍了awk编程语言的基础语法和常用功能,包括print和printf输出、自定义分隔符、变量使用、控制流等,是学习Linux文本处理的重要参考资料。
摘要由CSDN通过智能技术生成

awk
awk CSDN技能树

概述

awk是专门为文本处理设计的编程语言,是一门数据驱动的编程语言,与sed类似都是以数据驱动的行处理软件,主要用于数据扫描、过滤、统计汇总工作,数据可以来自标准输入、管道或者文件。

其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母

awk在20世纪70年代诞生与贝尔实验室。现在使用的版本是1988年发布的Gnu awk。

基础语法

记录与字段
awk是一种处理文本文件的编程语言,文件的每行数据都被称为记录,默认以空格或制表符为分隔符,每条记录被分成若干字段(列),awk每次从文件中读取一条记录。

使用方法:
awk'{pattern+action}'{filenames}

准备学习文件text.txt

test.txt 

1:yanhualei
2:shidiwei
3:awk
4:sed
5:少年强则中国强
6:nl
7:tail
8:head
9:cat
10:wc

开始学习

1. print打印 printf格式化输出

awk -F ":" '{print}' test.txt
awk -F ':' '{printf "%-8s %-10s\n"}' test.txt

结果:
1        yanhualei 
2        qitiandasheng
3        laoliu    
4        awk       
5        xxxxxxxxx 

2. -F 自定义分隔符

  1. 按照 ':'分隔方式,获取第一个和第二个字段
awk -F ":" '{print $1,$2}' test.txt
注意:命令中必须使用单引号

awk -F "[:,_]" '{print $1, $2}' test.txt
以:或者_作为字段分隔符打印第一个和第二个字段

3. FS输入字段分隔符变量,OFS输出字段分隔符变量

FS :等同于-F

3.txt
1,2,3,4,5

更改分隔符的两种写法:
a. awk -F "," 'NR==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值