Grep
如何一次遞歸地遍歷多個目錄?
我一直使用
grep -r
在給定目錄中的文件中查找字元串的出現:$ grep -r "字元串" 應用程序/資產/javascripts > app/assets/javascripts/my_file.js:這一行包含我的**字元串**
但是,如果我想遞歸搜尋目前目錄的**多個子目錄怎麼辦?**我能想到的唯一方法是執行 grep 兩次:
$ grep -r "字元串" 應用程序/資產/javascripts > app/assets/javascripts/my_file.js:這一行包含“**字元串**” $ grep -r "字元串" 規範/javascripts > app/assets/javascripts/my_file.js:“**字元串**”也出現在這裡。
如何將上述兩個
grep
命令組合成一行?我不想搜尋 中的每個文件.
,而且--exclude-dir
不實用,因為下面有太多其他目錄.
,我無法明確排除它們。這可能嗎?
您可以在中指定多個目錄
grep
:grep -r "string" app/assets/javascripts spec/javascripts
或者 - 有時更有用的是列出文件以 grep by
find
,然後 grep 它們,例如find app/assets/javascripts spec/javascripts -type f -print0 | xargs -0 grep "string"
或者
find app/assets/javascripts spec/javascripts -type f -exec grep -H "string" {} +