Grep

如何在 ack 和 grep 中進行最大深度搜尋?

  • September 8, 2021

有沒有辦法告訴ack只搜尋目前文件夾上的文本?(或指定一個max-depth級別?)和grep

用於:-n_no-recurse

$ ack -n foo

grep預設情況下不是遞歸的,-r只有在需要遞歸搜尋時才應使用該標誌。

您可以使用以下方式搜尋目前目錄grep

$ grep -- foo *

你可以用-exec參數找到。例子:

find . -maxdepth 1 -exec grep foo {} \;

這可以縮放,即-maxdepth 2

編輯

正如文中提到的

$$ answer by @Stéphane Chazelas $$,建議限制find為正常文件,這樣當參數實際上是目錄路徑grep時不會產生錯誤:{}

find . -maxdepth 1 -type f -exec grep -H foo {} \;
  • -type ffind將搜尋結果限制為文件的過濾器
  • -Hgrep用於為每個匹配列印文件名的選項(多個文件匹配時的期望行為)

引用自:https://unix.stackexchange.com/questions/111722