Linux命令行之文本处理awk
处理有分隔符的文本文档,默认分隔符是空格。
awk的一些内置变量
NF:字段数量(Number of Fields)NR:当前记录号(Number of Records)$0:当前记录(整行)$1, $2, ...:当前记录的第1个、第2个等字段FS:字段分隔符(Field Separator),默认为空格或制表符OFS:输出字段分隔符(Output Field Separator),默认为空格RS:记录分隔符(Record Separator),默认为换行符ORS:输出记录分隔符(Output Record Separator),默认为换行符
awk 'pattern {action}' file
pattern:这是一个可选的正则表达式,用于匹配输入行的内容。如果省略,则对每一行都执行action。action:这是一个或多个命令,当pattern匹配时执行。file:要处理的输入文件。如果省略,则从标准输入读取。
假设我们有一个名为data.txt的文件,内容如下:
John 25 Engineer
Alice 30 Doctor
Bob 28 Teacher
(1)输出每个人的姓名和年龄
awk '{print $1,$2}' data.txt
(2)输出年龄大于25的行
awk '$2 > 25 {print $0}' data.txt
awk -F: # 指定使用:作为行分隔符

浙公网安备 33010602011771号