免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1100 | 回复: 0
打印 上一主题 下一主题

find/grep使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-24 10:48 |只看该作者 |倒序浏览
以下是如何使用 find 命令的一些示例:
1.要列出文件系统中所有文件名含有 .profile 的文件,请输入下面的命令:
# find / -name .profile
按下 Enter 键。
该命令搜索整个文件系统,将所有文件名含 .profile 的文件的全路径名写出。斜杠 (/) 告诉 find 命令搜索 /(根)目录及其所有的子目录。
要节省时间,可以通过指定文件可能所在的目录来限制搜索。
2.要列出当前目录树中具有 0600 权限代码的文件,请输入下面的命令:
# find . -perm 0600
按下 Enter 键。
该命令列出仅具有所有者读权限和所有者写权限的文件名。圆点 (.) 告诉 find 命令搜索当前目录及其子目录。关于权限代码的解释,请参阅 chmod 命令。
3.要在几个目录中搜索具有特定权限代码的文件,请输入下面的命令:
# find manual clients proposals -perm -0600
按下 Enter 键。
该命令列出具有所有者读权限和所有者写权限及其它可能权限的文件的名称。被搜索的是 manual、clients 和 proposals 目录及其子目录。在前例中,-perm 0600 仅选择具有与 0600 精确匹配的权限代码的文件。在该例中,-perm -0600 选择的文件,其权限代码允许 0600 指定的访问以及高于 0600 级别的其它访问。这样就还与权限代码 0622 和 2744 匹配。
4.要列出当前目录下所有在最近 24 小时内有更改的文件,请输入下面的命令:
# find . -ctime 1
按下 Enter 键。
5.要搜索有多个链接的常规文件,请输入下面的命令:
# find . -type f -links +1
按下 Enter 键。
该命令列出有多于一个链接(-links +1)的普通文件(-type f)的名字。
注:
每个目录都至少有两个链接:其父目录的入口及其自身的 .(圆点)入口。有关多文件链接的更多信息,请参阅 ln 命令。
6.要搜索所有精确长度为 414 字节的文件,请输入下面的命令:
# find . -size 414c
按下 Enter 键。
二.可以使用grep 命令在文件内查找文本字符串
grep 命令搜索由 Pattern 参数指定的模式,并且将每个匹配的行写到标准输出中。
以下是如何使用 grep 命令的一些示例:
1.要在名为 pgm.s 的文件里搜索包含模式匹配字符 *、^、?、[、]、\(、\)、\{ 和 \} 其中几种的模式(这种情况下以任意大小写字母开头的行),请输入下面的命令:
# grep "^[a-zA-Z]" pgm.s
按下 Enter 键。
该命令显示 pgm.s 文件中所有以字母开头的行。
2.要显示名为 sort.c 的文件中不匹配某种模式的所有行,请输入下面的命令:
# grep -v bubble sort.c
按下 Enter 键。
该命令显示 sort.c 文件中所有不包含单词 bubble 的行。
3.要显示 ls 命令的输出中匹配字符串 staff 的行,请输入下面的命令:
# ls -l | grep staff
按下 Enter 键。
一直以为查找当前目录内包含x的查找方式是 find . |grep x
后来查看多方资料发现,应该是 find . -exec grep x {} \; 或者 find .|xargs grep x 命令。
为什么会这样能,因为通道命令符是把上一部的结果传递给下一步来处理,在 find . |grep x中虽然看似和find .|xargs grep x差不多,但是实际上还是有区别的。应为find .得到的结果是一串文件名集合,如果直接传递给grep的话,grep会把这些文件名看作一些无意义的字符串来处理。但是传递给xargs,他会把他当作一个有意义的文件来处理。
http://javag.javaeye.com/blog/249883


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/96656/showart_2005698.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP