将 Java 管道传输到 Grep:为什么不工作?
我试图在 Bash 中运行这个极其简单的命令
java -cp nasa-top-secret.jar gov.nasa.RocketToMoon | grep -v codehaus
,但 grep 不起作用(它不会过滤掉我的字符串)。如何使用 grep
过滤我的 java
输出?
I am trying to run this dreadfully simple command in Bash
java -cp nasa-top-secret.jar gov.nasa.RocketToMoon | grep -v codehaus
but grep is not working (it does not filter out my string). How can I filter my java
output using grep
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
输出可能在 STDERR 上,请尝试以下操作:
The output could be on STDERR, Try this instead:
可能的情况是
“codehaus”,所以 grep -v 给你
没有什么。我假设你知道什么是
-v
代表。
任何标准输出。检查你的
源并确保您的程序将其输出到标准输出。否则,检查您的程序是否吐出其 stderr。
可能的故障排除步骤:
确保你的程序有输出。
2>&1
放在命令末尾然后用 grep 重试
possible scenario
"codehaus", so grep -v gives you
nothing. I assume you know what
-v
stands for.
anything to stdout. check your
source and make sure your program spits out to stdout. Otherwise, check if its stderr that your program is spitting out.
possible troubleshooting step:
sure your program has output.
2>&1
at the end of the commandand try again with grep