Bash
如何計算目錄中每個文件的字元串出現次數?
grep -G '{string}' *. | wc -l
{string}
給我整個目錄中的總數。另一方面,為了我的興趣wc -l *.
,給了我每個文件每行的計數,但不計算每個文件的計數。{string}
我正在尋找兩者的組合,我可以{string}
分別計算每個文件的出現次數。
您需要的grep選項是
-c
:-C
僅將選定行的計數寫入標準輸出。
如果您有要在其中搜尋的嵌套目錄:
find /your_dir -type f -exec grep -cF '{string}' {} +
或者,如果
GNU Grep
您(或任何其他支持grep-r
的實現)可以進行遞歸搜尋:grep -rcF '{string}' your_dir
如果目錄裡面沒有子目錄,一個簡單的:
grep -cF '{string}' your_dir/*
將工作。
另請注意,
-G
(GNU Grep
特定)啟用BRE
引擎,這是預設選擇並且不處理ERE
標籤{
(如果未轉義)。考慮使用-F
選項強制grep搜尋簡單字元串或在不需要時禁用正則表達式元字元插值。