grep-标记此行,其中包含偶数数量选择

grep-标记此行,其中包含偶数数量选择

我想标记此行,其中有偶数数量选择。在这种情况下,我也想标记偶数位数。例如:输入:

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’

相关内容