在Ubuntu中运行service --status-all | grep "firestarter"
会显示service --status-all
的整个输出,其中文本“firestarter”以红色突出显示。你如何让grep只显示包含匹配文本的行,并隐藏其他所有内容?
答案 0 :(得分:3)
也许service --status-all
写入stderr,而不是stdout?然后你可以使用
service --status-all 2>&1 | grep firestarter
答案 1 :(得分:2)
你必须设置一些奇怪的env变量。试试这个:
service --status-all | `which grep` firestarter
或者:
service --status-all | /bin/grep firestarter
如果可能,请显示env
和alias
的输出,以便我们看到您的grep
命令有什么问题。
对我来说,我有:
[ 13:55 jon@host ~ ]$ echo $GREP_OPTIONS
--color=always
你可能在那里设置了一些东西,和/或在GREP_COLOR
中导致了这一点。
答案 2 :(得分:1)
如果您不想使用别名,而是使用原始命令,则可以尝试“\ cmd”。 e.g。
service --status-all | \grep "firestarter"