文本三剑客之awk

awk是一个强大的文本分析工具,用于按行处理输入文本。它可以自定义分隔符,打印特定列,操作行号,并进行条件判断,如打印奇偶行。内置变量如$0,$NF,NR和NF帮助处理数据,而getline函数用于读取下一行。此外,awk支持基本的算术运算。
摘要由CSDN通过智能技术生成

1、简介

awk的作用是逐行读取输入文本,按照命令找指定的行,找到的行打印操作。默认以空格为分隔符,多个空格会自动压缩成一个。awk默认就是打印。

-F:指定分隔符,直接跟,不用引用

-v:变量复制

用逗号指定连续的行,用||指定不连续的行,&&表示且。

2、内置变量

不能用引号引用起来

$0打印全部
$n当前处理行的第n列
NR当前处理的行号
NF当前处理的行的字段个数,$NF代表最后一个字段
FS列分割符。指定每行文本的字段分隔符,输入内容的分隔符

3、打印

打印所有        awk '{print $0}' 123.txt

打印指定的列         awk '{print $3}' 123.txt

指定分隔符打印        awk -F: '{print $1,$3}' /etc/passwd

4、打印行号

awk '{print NR}' /etc/passwd

打印行号和内容        awk '{print NR}' /etc/passwd

5、指定行号输出

awk 'NR==3{print}' /etc/passwd

打印3到5行

awk 'NR==3,NR==5{print}' /etc/passwd

打印3和5行

awk 'NR==3;NR==5{print}' /etc/passwd

6,奇偶打印

偶:awk 'NR%2==0{print NR $0}' /etc/passwd

奇:awk 'NR%2==1{print NR $0}' /etc/passwd

7、运算

取幂

8、getline

awk的内置函数,两边没有重定向符号和管道符就是打印奇偶行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值