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