Linux 抑制Grep中的不匹配行
在Ubuntu中运行Linux 抑制Grep中的不匹配行,linux,bash,grep,Linux,Bash,Grep,在Ubuntu中运行service--status all | grep“firestart”显示service--status all的整个输出,文本“firestart”以红色突出显示。如何让grep只显示包含匹配文本的行,而隐藏其他所有内容?必须设置一些奇怪的env变量。试试这个: service --status-all | `which grep` firestarter 或: 如果可能的话,显示env和alias的输出,这样我们就可以看到grep命令的错误 对我来说,我有: [
service--status all | grep“firestart”
显示service--status all
的整个输出,文本“firestart”以红色突出显示。如何让grep只显示包含匹配文本的行,而隐藏其他所有内容?必须设置一些奇怪的env变量。试试这个:
service --status-all | `which grep` firestarter
或:
如果可能的话,显示env
和alias
的输出,这样我们就可以看到grep
命令的错误
对我来说,我有:
[ 13:55 jon@host ~ ]$ echo $GREP_OPTIONS
--color=always
您可能在那里设置了某些内容,和/或在GREP\u COLOR
中设置了导致此问题的内容。可能是服务-状态所有
写入到stderr,而不是stdout?然后你可以用
service --status-all 2>&1 | grep firestarter
如果不想使用别名,但使用原始命令,可以尝试“\cmd”。e、 g
问题-哈哈@好答案。我将添加--color以红色显示它:
service--status all 2>&1|grep sudo--color
service
只将错误写入stderr,如[20:51]root@host~]$service——状态全部| grep httpd无法打开PID文件:权限被拒绝
,所有常规输出都转到标准输出。@chown什么操作系统?我有Ubuntu,它工作得很好我有一个centos,Ubuntu和软呢帽盒。实际上,这取决于/etc/init.d/[SERVICE_script]
中的脚本,但通常它们遵循常规文本到标准输出,错误到标准输出的一般标准。哦,是的,你说得对,打得好
service --status-all 2>&1 | grep firestarter
service --status-all | \grep "firestarter"