
我有一個目錄,其中有很多子目錄,其中包含文字檔案。我需要知道“foo”在每個子目錄中出現多少次(但僅在第一級),而不是所有子目錄中存在的單字“foo”的總和。簡而言之,我將通過簡單地在每個目錄上手動運行來解決這個問題
grep -riwo 'foo' | wc -l
顯然,因為它們有很多,這是不可行的。所以我在包含子目錄的目錄上嘗試了這個
ls -1 | xargs -L1 grep -riwo 'foo' | wc -l
但這也不起作用,因為從我得到的結果來看,只有在所有文件夾上執行wc
之後才得到輸出,將包含所有結果的完整列表通過管道傳輸到該列表,僅輸出所有目錄中出現的“ foo」的總和,在那一點上不必要grep
wc
xargs
答案1
由於您只需要每個頂級目錄的總計,因此請添加一個簡單的循環:
for d in */; do
printf '%s: ' "$d"; grep -riwo 'foo' -- "$d" | wc -l
done