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

浙公网安备 33010602011771号