grep搜索子目录中包含某字符串的特定文件

http://blog.csdn.net/unbutun/article/details/6326598


使用find命令

搜源码“src”目录下,包含“niuc”的所有“.ec”文件

find ./src -name '*.ec' -exec grep -i niuc {} /; -print

使用grep命令

在“dir”目录下递归查找所有“.cpp”文件中的关键字“key”

grep -R --include="*.cpp" key dir

linux grep命令的使用

grep -r :明确要求搜索子目录,

grep -d skip:或忽略子目录:

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 

grep -l pattern files :只列出匹配的文件名, 

grep -L pattern files :列出不匹配的文件名, 

grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), 

grep -C number pattern files :匹配的上下文分别显示[number]行, 

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, 

grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 


这里还有些用于搜索的特殊符号:

/< 和 /> 分别标注单词的开始与结尾。

例如: 

grep man * 会匹配 ‘Batman’、‘manic’、‘man’等, 

grep '/

grep '/' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 

'^':指匹配的字符串在行首, 

'$':指匹配的字符串在行尾。

你可能感兴趣的:(Linux)