默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出:
grep: sound: Is a directory
这可能会使‘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 -lr 'string' /etc/
这个命令就可以搞定。搜索etc下面的文件,包含所有目录下的文件。这样就搞定了。
-i,乎略大小写
-l,找出含有这个字符串的文件
-r,不放过子目录