find grep wc 查询一个目录下的文件中包含特定字符的行,以及符合条件的行数
findgrepwc查询一个目录下的文件中包含特定字符的行,以及符合条件的行数怎么写啊?能把每个字段解释一下吧...
find grep wc 查询一个目录下的文件中包含特定字符的行,以及符合条件的行数 怎么写啊 ?
能把每个字段解释一下吧 展开
能把每个字段解释一下吧 展开
展开全部
你这个是UNIX的shell语句,我给你写出来了:
find . -exec grep aaa {} | wc -l
补充:
find/grep/wc是UNIX上常用的命令,每个命令的说明可以在UNIX上用man查看,比如命令“man find”可以查看find命令的详细功能说明,每个参数都解释得非常清楚,还有距离。
在上面的例子中,find用来搜索当前目录、以及所有子目录下的文件,其exec参数说明找到文件要满足后面的命令,也就是里面要有aaa内容,这是grep的功能。如果不要|以及后面的wc,能把所有包含aaa的文件、以及文件中的那一行显示出来,加上wc就只统计总共有多少行。
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 <cmd> <args> {} \; 表示对找到的每一个文件名执行 <cmd> <args> ,比如找到 a.c, b.c,那么就相当于依次执行
<cmd> <args> a.c
<cmd> <args> b.c
注意 {} 会被find替换成找到的文件名, \; 是必须的,用来标记 -exec 的终结
grep -H <Pattern> <FILE>
在 <FILE> 中搜索 <Pattern>, -H 表示在每一个匹配行前打印出文件名
wc -l <FILE>
统计 <FILE> 中的行数
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询