抑制 Grep 中的非匹配行

发布于 2024-12-07 13:56:24 字数 1459 浏览 0 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情深缘浅 2024-12-14 13:56:24

也许 service --status-all 写入 stderr,而不是 stdout?然后你可以使用

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

Maybe service --status-all writes to stderr, not stdout? Then you can use

service --status-all 2>&1 | grep firestarter
卸妝后依然美 2024-12-14 13:56:24

您必须设置一些奇怪的环境变量。试试这个:

service --status-all | `which grep` firestarter

或者:

service --status-all | /bin/grep firestarter

如果可能的话,显示 envalias 的输出,以便我们可以看到您的 grep 命令出了什么问题。


对我来说,我有:

[ 13:55 jon@host ~ ]$ echo $GREP_OPTIONS
--color=always

您可能在那里设置了一些东西,和/或在 GREP_COLOR 中设置了导致此问题的内容。

You must have some weird env variables set. Try this:

service --status-all | `which grep` firestarter

Or:

service --status-all | /bin/grep firestarter

And show the output of env and alias if possible so we can see whats wrong with your grep command.


For me, I have:

[ 13:55 jon@host ~ ]$ echo $GREP_OPTIONS
--color=always

You probably have something set there, and/or in GREP_COLOR that is causing this.

栀梦 2024-12-14 13:56:24

如果您不想使用别名,而是想使用原始命令,可以尝试“\cmd”。例如

service --status-all | \grep "firestarter"

if you don't want to use an alias, but the original command, you could try "\cmd". e.g.

service --status-all | \grep "firestarter"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文