Awk 字段处理全解析
1. 字段基础
当 awk 读取输入记录时,它会自动将记录解析为多个字段。默认情况下,字段由空白字符(如空格、制表符和换行符)分隔。空白字符在 awk 中是指一个或多个空格、制表符或换行符组成的字符串,其他语言中视为空白的字符(如换页符、垂直制表符等)在 awk 中不被视为空白。
使用美元符号 $ 后跟字段编号来引用字段。例如, $1 表示第一个字段, $2 表示第二个字段,依此类推。字段编号不限于个位数, $127 表示记录中的第 127 个字段。
NF 是一个预定义变量,其值为当前记录中的字段数量。每次读取记录时,awk 会自动更新 NF 的值。无论记录中有多少个字段,最后一个字段都可以用 $NF 表示。如果引用超过最后一个字段的编号(如记录只有七个字段时引用 $8 ),将得到空字符串;在数值运算中,将得到零。
$0 是一个特殊情况,它代表整个输入记录。当你对特定字段不感兴趣时,可以使用它。
以下是一些示例:
$ awk '$1 ~ /li/ { print $0 }' mail-list
Amelia 555-5553 amelia.zodiacusque@gmail.com F
Julie 555-6699 julie.
超级会员免费看
订阅专栏 解锁全文
1856

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



