繁体   English   中英

管道到Grep给出太多结果

[英]Piping To Grep Is Giving Too Many Results

我正在尝试检查某个特定服务是否正在通过Linux终端运行,并且以下命令似乎并未按预期过滤结果。 不知道我在做什么错...

service --status-all | grep subversion

这样会产生多行输出,例如,

 [ ? ] Networking

我不确定为什么会这样,因为字符串“ subversion”没有包含在上面的行中...

您应该使用:

service --status-all |& grep subversion

因为没有状态( [ ? ] )的服务将发送到stderr,而后者不会通过管道传递到grep(然后无论如何都将在终端上打印出来)。

|&将stderr发送到stdout,以便grep能够对其进行过滤。

尝试此操作,并将stderr (2)重定向到stdout(1):

service --status-all 2>&1 | grep subversion

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM