Awk 字段处理全解析
1. 字段检查
当 awk 读取输入记录时,它会自动将记录解析为多个字段。默认情况下,字段由空白字符(如空格、制表符和换行符)分隔。在 POSIX awk 中,换行符不被视为用于分隔字段的空白字符。
在 awk 程序中,使用美元符号 $ 后跟字段编号来引用特定字段。例如, $1 表示第一个字段, $2 表示第二个字段,依此类推。字段编号不限于个位数, $127 表示记录中的第 127 个字段。
$ awk '$1 ~ /li/ { print $0 }' mail-list
Amelia 555-5553 amelia.zodiacusque@gmail.com F
Julie 555-6699 julie.perscrutabor@skeeve.com F
此示例会打印 mail-list 文件中第一个字段包含字符串 li 的每条记录。
NF 是一个预定义变量,其值为当前记录中的字段数量。每次读取记录时,awk 会自动更新 NF 的值。无论记录中有多少个字段,最后一个字段都可以用 $NF 表示。
$ awk '/li/ { print $1, $N
超级会员免费看
订阅专栏 解锁全文
1856

被折叠的 条评论
为什么被折叠?



