目录

Linux常用命令之awk

awk 多个分隔符

echo "abcdefg" | awk -F '[ce]' '{print $1,$2,$3}'
ab d fg

但是我想要提取dmesg里面的时间,想以[]来做分割,这个时候可以反写[]取个巧

dmesg | awk -F '[][]' '{print $2}'

打印某一列为特定值的行

awk '$8=="500"' nginx_access.log

awk 交换一个文件的两列

比如文件test.txt

a;b;c
d;e;f
1;2;3
4;5;6

方法1

awk -F ';' '{printf("%s;%s;%s\n",$3,$2,$1)}' test.txt

方法2

awk -F ';' '{temp = $3 ; $3 = $1; $1 = temp}1' OFS=';' test.txt

这里的1 和 {print}是一样的, OFS代表分隔符。