如何在Unix中查找不同文件中特定单词的计数:
我有:目录中的50个文件(abc.txt,abc.txt.1,abc.txt.2等)
我想要什么:查找每个文件中“Hello”字样的实例数。
我使用的是 grep -c Hello abc* | grep -v :0
它给了我Form of,
的结果<<File name>> : <<count>>
我希望输出采用
格式<<Date>> <<File_Name>> <<Number of Instances of word Hello in the file>>
1-1-2001 abc.txt 23
1-1-2014 abc.txt.19 57
2-5-2015 abc.txt.49 16
答案 0 :(得分:0)
您可以使用gnu awk >=4.0
(由于ENDFILE)来获取号码
如果我们知道数据的来源,我会添加它。
awk '{for (i=1;i<=NF;i++) if ($i~/Hello/) a++} ENDFILE {print FILENAME,a;a=0}' abc.txt*
答案 1 :(得分:0)
### Sample code for you to tweak for your needs:
touch test.txt
echo "ravi chandran marappan 30" > test.txt
echo "ramesh kumar marappan 24" >> test.txt
echo "ram lakshman marappan 22" >> test.txt
sed -e 's/ /\n/g' test.txt | sort | uniq | awk '{print "echo """,$1,
"""`grep -wc ",$1," test.txt`"}' | sh
Results:
22 -1
24 -1
30 -1
chandran -1
kumar -1
lakshman -1
marappan -3
ram -1
ramesh -1
ravi -1`