1、 grep
现在的很多项目都使用svn作为版本管理工具,因此每个源码目录下都会有一个.svn 目录,其中包含了很多源码信息。
(1)使用管道进行双层“过滤”,其中第二次grep使用了-v选项,即逆向匹配,打印出不匹配的行,如下:
grep -r 'function_name' * | grep -v '.svn'
[zhifenghu@fc7 ~]$ grep "tftpboot" -r work/*| grep -v '.svn'
(2)直接使用--exclude-dir选项,即指定排除目录,
grep -r --exclude-dir =\.svn'function_name' *
[zhifenghu@fc7 ~]$ grep "tftpboot" -r work/*--exclude-dir=".svn"
2、find
(1) 忽略.svn文件
find ./ -name "*test*" ! -path ' */.svn/* '
find ./ -name "*test*" | grep -v '.svn'
(2)删除.svn 文件
find ./ -name ".svn" | xargs rm -rf
http://hi.baidu.com/huzhifeng/item/48220d7ca1b455356dc37cca
稍作整理