我有一個文件夾,我想要做的是寫一個shell腳本,它打印文件的名稱以及這些文件中某個單詞重複的次數。grep命令 - 文件名和每個文件中某個單詞的重複次數打印在兩列中
我的輸出應該是這個樣子:
filename 3
filename 12
filename 24
…
文件名不包括路徑和擴展名的文件的名稱即可。
我設法用一個for循環來做到這一點,但我認爲,執行時間是不是很有效,所以我的其他想法是使用grep命令:
grep -c 「word" */*.txt
輸出我得到這個樣子的:
folder/filename.txt:3
我試圖使用cut命令,但我無法弄清楚如何避免減少單詞出現在不同文件中的次數,並且文件名和數字之間必須有空格。
grep -c 「word" */*.txt | cut -d'/' -f2 | cut -d'.' -f1
任何想法如何用grep或其他替代方法做到這一點?
請發佈您的非工作代碼及其輸出。 – Fred
https://i.stack.imgur.com/0jCJL.png – user408340
輸出:文件夾/文件名.txt:3 – user408340