awk的常用套路
示例文本 abc.txt 内容:
one two three four five 12 23 33 15 99 66 33 11 61 88
13 33 58 90 29
1、打印行的指定字段,默认以空格分隔
admin@DESKTOP-4N13UR2:~$ awk '{print $1,$4}' abc.txt
one four
12 15
66 61
为什么引号中要加一个大括号?因为大括号内是要输出的内容,和其他内容区分开。
2、打印带条件的字段,$0是打印当前字段(满足条件的)
admin@DESKTOP-4N13UR2:~$ cat abc.txt one two three four five 12 23 33 15 99 66 33 11 61 88 13 33 58 90 29 admin@DESKTOP-4N13UR2:~$ awk '$2==33 && $3==11 {print $0}' abc.txt 66 33 11 61 88
3、指定分隔符,对付不是以空白作为分割的文本
admin@DESKTOP-4N13UR2:~$ cat abc.txt 12;23;33;15;99 66;33;11;61;88 13;33;58;90;29 admin@DESKTOP-4N13UR2:~$ awk 'BEGIN{FS=";"} {print $1,$3}' abc.txt 12 33 66 11 13 58