2010-02-25 87 views
1

我試圖在猛砸管Java到Grep:爲什麼不工作?

java -cp nasa-top-secret.jar gov.nasa.RocketToMoon | grep -v codehaus 

運行這個可怕簡單的命令,但grep的不工作(它不會過濾掉我的字符串)。如何使用grep過濾我的java輸出?

+4

再試什麼是''java命令美國宇航局頂級secret.jar gov.nasa.RocketToMoon''的結果呢? – nanda

+0

@nanda,這是造成OutOfMemoryException :) –

回答

18

輸出可以stderr上,試試這個:

java -cp nasa-top-secret.jar gov.nasa.RocketToMoon 2>&1 | grep -v codehaus 
+0

謝謝!這工作完美。 –

3

可能的情況

  1. 你確實有所有 「Codehaus的」 的臺詞,這樣的grep -v給你 什麼。我假設你知道什麼-v 代表。
  2. 你的java程序沒有打印 任何東西到標準輸出。檢查你的 來源,並確保你的程序吐出到標準輸出。否則,請檢查您的程序是否正在吐出它的stderr。

可能的故障排除步驟:

  1. 刪除到grep管道,只運行Java程序,並 確保你的程序有輸出。
  2. 2>&1在命令 的結束和使用grep