1. 基础用法
操作粒度更加精细,可以以特殊字符(: = 空格等)分割为列再进一步操作。例如 ps -aux获取到自己的进程后想进一步操作就可以使用awk指令。
awk 'BEGIN {commands} pattern {commands}END{commands}' filename
BEGIN:处理数据前执行的命令
END:处理数据后执行的命令
pattern:模式,每一行都执行的命令
BEGIN和END里的命令只是执行一次
pattern里的命令会匹配每一行去处理
awk '{print $0}' test.txt
* $0为全部行,$1为每行第一个列,$2为第二个列....
awk -F':' 'NR>20' test.txt
* NR在awk中代表行号
* -F指定’:‘为每行中的字段的分隔符。不指定默认为空格或者TAB。
awk -F':' 'NR>20' test.txt
* NR:行号
- 使用管道配合grep将user的线程提取并输出到test.txt
awk '{print NF}' test.txt
awk "{print $NF}' test.txt
* NF:统计每一行总字段数,$