LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2544|回复: 11

如何查找包含指定字符的指定后缀名的文件?

[复制链接]
发表于 2003-1-15 23:29:55 | 显示全部楼层 |阅读模式
不好意思,请大家看这里。
http://www.linuxsir.cn/bbs/showt ... d=117815#post117815
发表于 2003-1-16 01:15:23 | 显示全部楼层
faint
过滤应该用管道符
permission deny 是因为你查找到了/proc这个目录,跳过这个目录
find / -path '/proc' -prune -name *.txt | grep iloveyou
 楼主| 发表于 2003-1-16 23:09:11 | 显示全部楼层
在您的启发下,我加上xargs后,在redhat6.1上成功。
find / -name "*.txt" |xargs grep "love"

另外,有高手教我了两个方法,一并奉上:
grep -rnI love *.txt
find / -type f -name "*.txt" -exec grep -l "love" {} \;
 楼主| 发表于 2003-1-16 23:15:10 | 显示全部楼层
再修改一下
[root@mm /]# find / -name "*.txt" |xargs grep -l "love"
find: /proc/6/fd: Permission denied
/usr/doc/ImageMagick-4.2.9/README.txt
/usr/doc/dosemu-0.99.13/DANG.txt
/usr/doc/dosemu-0.99.13/README-tech.txt
/usr/doc/vim-common-5.4/doc/quotes.txt
/usr/share/vim/vim54/doc/quotes.txt
/1.txt
/3.txt
[root@mm /]#
发表于 2003-1-17 02:09:21 | 显示全部楼层
sorry beginner兄,仓促给你的回复,没怎么作实验,不好意思
不过这里的兄弟们还是很热情的,是不?!
 楼主| 发表于 2003-1-17 12:55:32 | 显示全部楼层
发表于 2003-1-22 08:48:19 | 显示全部楼层
beginner兄弟写的 find / -type f -name "*.txt" -exec grep -l "love" {} \;
可以给俺解释一下么?

另外的grep的参数-r好象也不起递归搜索子目录的作用,why ?
 楼主| 发表于 2003-1-22 20:45:03 | 显示全部楼层
1.前面这部分find / -type f -name "*.txt"意思很明确,就是查找/目录下以txt为后缀的文件,查询的结果就是所有这些文件的名字。
后半部分-exec grep -l "love" {} \;中需要解释的是{}和\;。其中{}表示-exec前面即find / -type f -name "*.txt"的查询结果,\;表示命令结束,是固定的格式。


2.grep -rnI love *.txt 也是别人告诉我的
关于grep的参数-r,帮助上说是起递归作用的,但我在REDHAT6.2和7.3下都不成功,我猜可能是我系统自身的bug。


我最喜欢的是find / -name "*.txt" |xargs grep "love" ,意思一目了然。当然还可以改进,比如find / -type f -name "*.txt" |xargs grep "love"
发表于 2003-1-22 20:47:59 | 显示全部楼层
find / -type f -name "*.txt" -exec grep -l "love" {} \;
/ 表示从/开始搜索。
-type f   表示搜索的对象是普通文件。
-name "*.txt"  表示同通配符查找后缀名为txt的文件。
-exec  表示excute选项,用来对搜索到的对象执行指定的命令。
grep -l "love" {} \;   就是exec参数指定的command,注意{}是表示搜索到的对象,后面的\;不能省略,这是命令的格式。
grep -l "love"   是过滤love,只显示包含love字符的文件的文件名,过滤的源就是{}里的当前的对象。
我说的有点乱七八糟,呵呵,兄弟见谅吧,:)
 楼主| 发表于 2003-1-22 20:57:34 | 显示全部楼层
哈哈,版主写得比我清楚。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表