我想标记此行,其中有偶数数量选择。在这种情况下,我也想标记偶数位数。例如:输入:
22 34 423 22
23213 34 345 23
结果应该是:
22 34 423 22 #<-22 is the marked
答案1
对于 bash,尝试这个:
$ n=2; 当 [ $n -lt 10 ]; 执行 \ grep -E "2{$n}|4{$n}|6{$n}|8{$n}|0{$n}" <IN_FILE; n=$(( n+2 )); 完成
但是正如您所看到的,它不会通过一次运行/正则表达式为您提供所有内容,因此如果您要在自己的软件/脚本中使用它,则需要对其进行调整。
答案2
请记住,“偶数”总是以某些数字结尾。
如果行有多个以空格分隔的“数量”:
grep -w “[0-9] * [02468]”
如果您只想检查最后一位数字:
grep [02468]$”
对于“偶数的偶数”......
perl -a -n -e ‘打印 if (grep {/^[0-9]*[02468]$/} @F) % 2 == 0’