下面举一个例子:每N行输出到单独的文件
也可以根据不同列,导出到不同文件
或根据正则匹配结果导出不同文件
如果需要多次导出到同一个文件,需要使用
追加符号
>>
awk实例1、cat /etc/passwd|awk -F: '{print $1}'
2、linux的awk一般都是gawk,/bin/awk ->gawk
3、awk ‘/abc/’ file.txt 显示文件中包含abc行。类似grep abc a.txt
4、awk ‘{print NR,NF,$1,$NF,}’ file.txt按空格分隔列,显示当前记录号、域数和每一行的第一列和最后一列。
-F参数可以设置分割参数,例如按:分割
awk -F: ‘{print $1}’ /etc/passwd
或者cat file|awk -F “|” ‘{print $1}’
5、awk编程语言
cat v.txt|awk ‘{print length($1)}’
6、awk中使用NR和FNR,一般在awk处理多个文件时,NR==FNR才有意义
NF当前记录中的字段数。
NR当前记录数。
FNR同NR,但相对于当前文件。
awk ‘{print NR,FNR}’ test.txt test2.txt
awk ‘{if(NR==FNR){a[FNR]=$1}else{print $1,a[FNR]}}’ b.txt a.txt
7、打印奇数行与偶数行
awk ‘NR%2’ test.txt
awk ‘!(NR%2)’ test.txt
8、杀死tomcat的stop.sh脚本
#!/bin/sh
ps -ef| grep tomcat |grep -v grep | awk ‘{print $2}’ |xargs kill -9
9、打印前7列
cat a.txt|awk ‘{NF=7}1’ >>b.txt
tail -f access.log|awk ‘NF=7′ OFS=’\t’ >>b.txt
cut -d”,” -f3-6 urfile
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)