Chinaunix

标题: grep匹配的时候,如何排除特定的目录? [打印本页]

作者: zhaojys    时间: 2008-09-16 20:24
标题: grep匹配的时候,如何排除特定的目录?
比如:
需要搜索/目录下所有中含有sda字符串的文件,但是排除/dev和/proc目录。
如何实现,多谢!!
作者: HH106    时间: 2008-09-16 20:33
--exclude
作者: 7717060    时间: 2008-09-16 20:46
那为什么不用find
作者: MYSQLER    时间: 2008-09-16 20:52
用find吧
作者: sanxiao    时间: 2008-09-16 20:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: 无声无息    时间: 2008-09-16 20:59
find +grep
作者: gnufoo    时间: 2008-09-17 09:21


grep 的新版本支持 --exclude-directory (好像是这么写的) 选项
作者: 我是DBA    时间: 2008-09-17 09:24
grep --help
看看帮助不就知道了
作者: blackold    时间: 2008-09-17 09:35
标题: 回复 #1 zhaojys 的帖子
grep 2.5.3版支持 --exclude-dir=PATTERN
作者: MYSQLER    时间: 2008-09-17 09:57
grep 2.5.1也有

man grep
         --exclude=PATTERN
              Recurse in directories skip file matching PATTERN.
作者: blackold    时间: 2008-09-17 10:37
原帖由 MYSQLER 于 2008-9-17 09:57 发表
grep 2.5.1也有

man grep
         --exclude=PATTERN
              Recurse in directories skip file matching PATTERN.

效果不同。
作者: xwmhmily    时间: 2008-09-17 13:04
学习了,man 一下吧
作者: zhaojys    时间: 2008-09-17 14:07
原帖由 7717060 于 2008-9-16 20:46 发表
那为什么不用find

我想搜索文件的内容中含有sda的文件,不是文件名中含有sda的,find能够做到么?
作者: leetaedong    时间: 2008-09-17 14:13
原帖由 zhaojys 于 2008-9-17 14:07 发表

我想搜索文件的内容中含有sda的文件,不是文件名中含有sda的,find能够做到么?

用grep
作者: clfsy    时间: 2008-09-17 15:41
原帖由 zhaojys 于 2008-9-16 20:24 发表
比如:
需要搜索/目录下所有中含有sda字符串的文件,但是排除/dev和/proc目录。
如何实现,多谢!!







find . -name "*sda*" | grep -v dev |grep -v proc
作者: blackold    时间: 2008-09-17 16:10
grep 2.5.3:
  1. grep -r --exclude-dir=dev --exclude-dir=proc sda .
复制代码


find:
  1. find \( -name dev -o -name proc \) -prune -o -type f -exec grep -H sda {} \;
复制代码

作者: 无声无息    时间: 2008-09-17 16:19
标题: 回复 #15 clfsy 的帖子
没有必要把全部都find出来,再用grep -v去排除

建议直接用--exclude-dir就行了
作者: 好人家    时间: 2008-10-08 00:23
grep不能排除目录

--exclude-dir=proc
[root@localhost CU]# grep -r --exclude-dir=./3 "1" *
grep: unrecognized option `--exclude-dir=./3'
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
作者: blackold    时间: 2008-10-08 09:26
标题: 回复 #18 好人家 的帖子
注意看贴,是新版的grep 2.5.3版支持 --exclude-dir=PATTERN
作者: 好人家    时间: 2008-10-08 11:34
原帖由 blackold 于 2008-10-8 09:26 发表
注意看贴,是新版的grep 2.5.3版支持 --exclude-dir=PATTERN



哈哈!谢谢黑哥啊!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2