我有文字我想遞歸搜索mydir/
。我通常會輸入grep -r "text to find" mydir/"
,但如果我想搜索除特定文件之外的所有文件,我會輸入什麼內容?grep遞歸獨家搜索
例如,我不想搜索文件「myfile.txt」,但它包含在目錄中。
我會輸入什麼?
我有文字我想遞歸搜索mydir/
。我通常會輸入grep -r "text to find" mydir/"
,但如果我想搜索除特定文件之外的所有文件,我會輸入什麼內容?grep遞歸獨家搜索
例如,我不想搜索文件「myfile.txt」,但它包含在目錄中。
我會輸入什麼?
您可以使用下面的命令來排除文件:
grep -r --exclude="myfile.txt" "text to find"
一個快速的方法是使用bash的擴展文件尋找。
還有一種增強否定水珠,可以使用如下:
shopt -s extglob
grep -r "text to find" !(myfile.txt)
另一種更靈活的方法是使用的find
和xargs
的組合。使用find
來篩選出只有你想要的文件,然後xargs
將它們作爲參數傳遞給grep。
類似下面的高度重視和工作:
find -type f -not -name myfile.txt | xargs grep "text to find"