背景
一般代码会在linux上,用linux做为编译服务器,在代码量大的时候搜索很麻烦。
技巧
- 只搜索.c .h 为扩展名的文件
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
- 排除.o 文件进行搜索
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"
- 排除一些目录进行搜索
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"
- 其它的一些:
find . -name '*.js' -exec grep -i 'string to search for' {} \; -print
find / -type f -exec grep -l "text-to-find-here" {} \;
find / -type f | xargs grep 'text-to-find-here'
- 删除所有的 .svn 目录
sudo find . -name .svn -type d -exec rm -rf {} \;
- 删除除了c h cpp Makefile 以外的文件:
find . -not -name "*.c" -a -not -name "*.h" -a -not -name "*.cpp" -a -not -name "Makefile" -exec rm -rf {} \;