其实 awk '{print $}'这个命令中''中的部分是一个脚本,而且不仅在awk命令后面可以有脚本在awk命令之前也可以写一些脚本。这些脚本的用途就是对awk的输入做一些预先的处理或者过滤。 根据这个思路再回到我的需求:cpu占用率达到一定值的进程的PID,我寫出了这条命令: top -bn 1 -i -c |awk '{ if (NR > 6) print }' |awk '{ if ($9 > 99) print $1,$9}' 第一个if过滤掉了top命令的上半部分;第二个if筛选出了我想要的PID
awk之所以可以高效地获取字段,是因为内置了很多變量灵活运用这些变量,可以让这把瑞士军刀发挥它最大的功效: NR:我的理解就是number of record,已处理的输入记录数 NF:我的理解就是number of field,数据文件中的字段总數 FS:输入字段分割符 field seperator RS:输入记录分割符 record seperator
最后推荐一本书:《Linux命令行与shell脚本编程大全 第3版 ,布鲁姆 ,P606.pdf》