lpingx2003 发表于 2024-05-13 11:25

如果一列数据中偶数及偶数下一行数据是该偶数加1,输出该偶数

问题:如果一列数据中偶数及偶数下一行数据是该偶数加1,输出该偶数,举例如下
输入
0
1
2
3
5
6
7
9
10

输出
0
2
6

lpingx2003 发表于 2024-05-13 11:29

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

lpingx2003 发表于 2024-05-13 11:36

输出为何不是
0
2
6
哪位高手知道呢,请指点,谢谢

Super_Niu 发表于 2024-06-06 09:36

# 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]
查看完整版本: 如果一列数据中偶数及偶数下一行数据是该偶数加1,输出该偶数