发布时间:2023-09-25 17:13:38
基本语法:
awk 'pattern { action }' input_file
pattern:模式,用于匹配行。
action:操作,用于对匹配到的行执行操作。
input_file:输入文件,awk将从该文件读取数据进行处理。
字段和分隔符:
awk默认将每一行按空格或制表符分割成字段,并将这些字段编号为 $1、$2、$3,以此类推。你可以使用-F选项来指定不同的分隔符。
内置变量:
NR:表示当前处理的行号。
以下示例文件名为file.txt
提取第一行的内容
awk 'NR == 1 { print }' file.txt
提取第一行的内容,并替换其中的部分文字
awk 'NR == 1 { sub("原字符", "新字符"); print }' file.txt
打印以空格为分隔的第一列内容
awk '{ print $1 }' file.txt
打印以“-”分隔的第一列内容
awk -F '-' '{ print $1 }' file.txt
输出字符数超过10的行(每个中文=2个字符)
awk 'length($0) > 10' file.txt
输出包含特定字符的行
awk '/字符/' file.txt
计算每行多少个字符
awk '{ print length }' file.txt
计算第6行多少个字符
awk 'NR == 6 { print length }' file.txt