我有一个文件夹,我想要做的是写一个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