我想用grep
查找當前目錄下所有java文件中包含String
的行。如何在子目錄中的所有java文件中grep一個字符串?
我想:
grep -r "String" **/*.java
但它不工作:
grep : **/*.java: no such file or directory
怎麼寫呢?
UPDATE
我在Windows下使用,通過grep
unxUtils
,不支持--include
參數提供。有沒有其他方法?
我想用grep
查找當前目錄下所有java文件中包含String
的行。如何在子目錄中的所有java文件中grep一個字符串?
我想:
grep -r "String" **/*.java
但它不工作:
grep : **/*.java: no such file or directory
怎麼寫呢?
UPDATE
我在Windows下使用,通過grep
unxUtils
,不支持--include
參數提供。有沒有其他方法?
我猜unxUtils
提供find
效用。所以,你可以嘗試這樣做:
find . -name "*.java" -exec grep "String" {} \;
或
find . -name "*.java" -exec grep "String" {} \+
第一個版本會爲找到的每個文件執行一個grep
命令。後者版本將只執行儘可能多的grep
命令,但不是每個find
版本都支持+
參數。
壞消息是'find。 -name「* .java」'不適用於'unxUtils'的'fild',它會報告'File not found - * .java'。最後,我剛安裝了'cygwin' – Freewind
在搜索中添加一個文件名可能會有所幫助,從而使它更容易。打印參數將在這裏幫助:查找。 -name「* .java」-print -exec grep「String」{} \; –
對於**'Windows' **,我在[SourceForge](http://astrogrep.sourceforge.net/)上推薦一個名爲[AstroGrep](http://astrogrep.sourceforge.net/)的程序。它是基於GUI的,默認的複選框是「搜索子文件夾」。我非常喜歡它,我只希望在我的Linux機器上有相當的...〜感嘆〜 – will