awk处理案例一

【场景】

文件awk01的内容如下:

stra b
stra c
stra d
strb 1
strb 2
strb 3

实现效果如下:

stra
b
c
d
strb
1
2
3

代码测试如下:

[li0924@localhost awk]$ awk '{b=a[$1]++?$2:$1RS$2;print b}' awk01 
stra
b
c
d
strb
1
2
3

【解析】
    利用数组a来进行判断;a[$1]的初始值我们未定义;a[$1]转换为整型值为0;0在awk是为假;所以b=$1RS$2;随着a[$1]++;该值是非0;b=$2;其中RS是awk的内置变量;默认是换行即"\n"

 这里是zooyo大师的脚本;原理同上差不多!

awk '{print a[$1]++?$2:$1RS$2}' file

 

posted @ 2013-09-09 18:51  lottu  阅读(333)  评论(0)    收藏  举报