本文摘自PHP中文网,作者齐天大圣,侵删。
shell编程三剑客里,awk比另外两个命令grep、sed更加复杂,更加难以掌握,因为awk是可以作为一个编程语言的!难归难,但该命令是必须要掌握的命令,因为它的功能实在太强大了!awk基本结构如下:
1 |
|
单引号是为了和shell命令区分开来。
大括号表示一个命令分组。可以是一个动作,或多个动作,如果是多个动作,则动作之间需要加上;或输入enter键
pattern是模式,表示匹配到的行才进行action。模式可以是正则,或算术表达式等
pattern和action可以只有其一,但不能两者都没有
awk常用的选项如下:
-F:指定分割符,分割符可以是字符也可以是一个正则表达式
-v val=value,定义一个变量并赋值
下面,我来通过一个应用来讲解awk命令的使用。下面是一个文本文件的部分内容
1 2 3 4 5 6 7 8 9 10 11 12 |
|
现在的需求是,获取每个城市的全拼,然后转换为小写形式再连接上hellowx.com。其他的信息全部给过滤掉。
1 2 3 4 5 6 7 8 9 10 11 |
|
我们注意到,偶数行都是空白行。所以只要过滤偶数行就行了。这样过滤掉了空白行。注意上面的NR表示当前行号,意思是偶数行全部过滤掉。next表示忽略当前行。
相关阅读 >>
更多相关阅读请进入《linxu》频道 >>