已經有一段時間不使用linux了,改用windows了。在 Windows 中,每當我想在檔案和子資料夾內的檔案上搜尋字串時(例如 cs 檔案)
findstr /s /i /n "Thepattern" *.cs
最近,我發現在使用 Git 時安裝的 MINGW64 中可以使用 grep。所以我嘗試了
grep --color -n -r "Thepattern" *.cs
但即使我把-r
搜尋不包括子目錄。
我用 grep 做錯了什麼?應該如何?
編輯:Anaksunaman 為我提供了正確的答案:
grep --color -n -r --include=*.cs "Thepattern"
和其他幾個選項:) 謝謝!
答案1
我發現你可以在使用 Git 時安裝的 MINGW64 中使用 grep 。
我假設您指的是 Git Bash。
我用 grep 做錯了什麼?又應該如何呢?
你應該嘗試這個:
grep --color -n -r --include=*.cs "ThePattern"
--include=
應該在之後-r
。這會將結果限制為以“.cs”結尾的檔案。如果您願意,您也可以指定目錄,例如:
grep --color -n -r --include=*.cs "ThePattern" ~/some/directory/'with spaces'
在本例中,~
指的是 Windows 上的使用者設定檔資料夾。
另外,假設「ThePattern」是字串文字,您可能需要包含-i
以使內容不區分大小寫,例如:
grep --color -n -i -r --include=*.cs "ThePattern"
否則,「ThePattern」與「Thepattern」不同,您可能不會得到任何結果。
請注意,您始終可以使用grep --help
來獲取有關其他選項的資訊。