学awk,首先要搞清什么是域,如下图,其中:是分隔符
同时记住一下3点:
1、确保整个awk命令用单引号括起来
2、确保命令内所有引号成对出现
3、确保用花括号括起动作语句,用圆括号括起条件语句
先看一下我来做示范的文本
1、
-F参数指定分隔符,默认的是空格。$1代表第一个域,$2代表第二个,以此类推。$0代表所有的域。
awk并不会改变源文件,如果要保存输出的内容可以重定向一下。
2、打印头,尾信息
当然BEGIN和END可以拿出来单独的使用,即只有BEGIN没有END,或者只有END没有BEGIN。BEGIN和END里面也可以是其他的内容不单单是个print动作(第一行最后的\只是转义字符,用来换行)
3、条件匹配
这里又在原来的test文件里添了点内容以方便做示范
~就是要匹配正则表达式,!~就是不匹配正则表达式
可以看到文件第二行和第四行都有25,但第四行是225,那么怎么准确的匹配到25呢?
如果是!=就是不等于
当然还可以设<,<=,>=
设置大小写
或关系
同时满足两个关系才符合要求,只要满足一个要求即可
创建新的输出域