grep only-matching不按预期工作

时间:2018-02-15 21:41:54

标签: bash grep

我试图在'height = xxx'上做一个非常简单的grep --only-matching,结果很奇怪,如截图所示。

有人知道它是什么吗?

enter image description here

GNU bash,版本3.2.57(1)-release(x86_64-apple-darwin17) 版权所有(C)2007 Free Software Foundation,Inc。

1 个答案:

答案 0 :(得分:1)

可能通过某些别名,您的系统强制grep输出为彩色。别这么做。

在我的系统上,代码生成正确的输出:

$ echo "$value" | grep -Eo 'height=[0-9]+' | grep -Eo '[0-9]+'
532

但是,如果我强制颜色,那么我会看到你看到的输出:

$ echo "$value" | grep -Eo --color=always 'height=[0-9]+' | grep -Eo '[0-9]+'
01
31
532
不要强迫颜色。通常,对于一个或多个bash初始化文件来设置别名以使命令的交互使用更令人愉快。在您的别名中,将--color=always替换为--color=auto