你这个是UNIX的shell语句,我给你写出来了:
find . -exec grep aaa {} | wc -l
补充:
find/grep/wc是UNIX上常用的命令,每个命令的说明可以在UNIX上用man查看,比如命令“man find”可以查看find命令的详细功能说明,每个参数都解释得非常清楚,还有距离。
在上面的例子中,find用来搜索当前目录、以及所有子目录下的文件,其exec参数说明找到文件要满足后面的命令,也就是里面要有aaa内容,这是grep的功能。如果不要|以及后面的wc,能把所有包含aaa的文件、以及文件中的那一行显示出来,加上wc就只统计总共有多少行。
假定你要查询 /path/to/dest 目录下(包括子目录)的所有文件中包含 字符 "abcdefg" 的行。
# 列出所有包含 "abcdefg" 的行及其所在的文件
find /path/to/dest -type f -exec grep -H "abcdefg" {} \;
# 统计匹配的的行数
find /path/to/dest -type f -exec grep -H "abcdefg" {} \; | wc -l
-type f 表示搜索的是文件 (-type d 则是目录,具体man find)
-exec
注意 {} 会被find替换成找到的文件名, \; 是必须的,用来标记 -exec 的终结
grep -H
在
wc -l
统计