您的位置:首页 > 其它

有点麻烦的awk 对于域(列)查找过滤

2016-10-19 10:52 148 查看
关键点

1.$0表示所有的列,$1表示第一域,依次。。

2.-F 设置域之间的分隔符,默认是空格

3.awk '模式+{动作}'组成

4.整个使用'',里面的print等动作使用{},BEGIN和END等模式

5.特有的正则表达式,+表示一个或多个,?一个或不出现

6.if(正则表达式) 或者 ~正则表达式  ,~是匹配,==精确匹配



7.好像是正则表达式都写在了  /正则表达式/  里面??

8.if中同样可以使用&& || !

9.awk的内置变量

 

10.在BEGIN中可以修改内置变量值,或者设置变量值

11..awk脚本中第一行为 !/bin/awk -f

1.awk 'BEGIN {print "Name    Number\n--------------"} {print $1 \t $2} END{print "end-of-report"}' grade.txt

2.awk '$0 !~ /Brown/ {print $0}' grade.txt   #匹配

3.awk '{if($2 ~ /[Bb]rown/ && $2 == "Hello") print $0}' grade.txt  #不匹配

4.awk ‘$3 =="48" {print $0}’  grade.txt

5.awk '{print NF,NR, $0} END{print FILENAME}’ grade.txt

6.awk '{if(NR > 0 && $4 ~/Brown/) print $0}' grade.txt

7.echo "/usr/local/etc/rc.sybase" | awk -F/ '{print $NF}'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐