如果一列数据中偶数及偶数下一行数据是该偶数加1,输出该偶数
问题:如果一列数据中偶数及偶数下一行数据是该偶数加1,输出该偶数,举例如下输入
0
1
2
3
5
6
7
9
10
输出
0
2
6
awk '{a=$0} {for(i=0;i<=NR;i++) if((a%2==0)&&(a==(a+1))) {print a}}'
使用这个语句,输出为
0
0
0
2
0
2
0
2
0
2
6
0
2
6
0
2
6 输出为何不是
0
2
6
哪位高手知道呢,请指点,谢谢 # cat txt
0
1
2
3
5
6
7
9
10
# awk '{a=$0} END {for(i=0;i<=NR;i++) if((a%2==0)&&(a==(a+1))) {print a}}' txt
0
2
6
# awk '$0==t+1{print t}$0%2==0{t=$0}' txt
0
2
6
添加 END 关键字,同时给出另一种解法
页:
[1]