awk处理案例十--筛选出相邻相同的行
【场景】
有文本如下
99 line0
100 line1
100 line2
101 line3
102 line4
103 line5
103 line6
【实现效果如下】如何将首列相同的相邻行筛选出,能到到如下结果
100 line1
100 line2
103 line5
103 line6
【代码如下:】
awk '{a[NR]=$1;b[NR]=$0}END{for(i=1;i<=NR;i++){if(a[i]==a[i+1])print b[i]"\n"b[i+1]}}'
【解析】
跟上篇原理差不多;
【拓展】
这下面有关阴月飞兄的代码;有点深奥;
awk '$1==a{print c[$1]==1?b"\n"$0:$0}{a=$1;b=$0;c[$1]++}'

浙公网安备 33010602011771号