1,查找当前目录下面,保护STAUD_PTS_EVT 字样的文件;
在当前目录下的所有文件的文件内容中查找哪个文件的内容中有STAUD_PTS_EVT(大小写不敏感,列出findcontents所在文件的所在行)——适合于当前目录下的文件及目录数目比较少,如果查找后列出内容过多,将会失去查找意义。
leosu@leosu:/mnt/sda3/need_bak/mot_doc/hal_doc_stapi_stapi_test/stapi/STAPI_Linux_Docs$ grep -rin STAUD_PTS_EVT *
Binary file staudlx.pdf matches
当前目录下面查找所有pdf 文件, 在所有pdf 文件内容中查找 STAUD_PTS_EVT 关键字
#grep -irn STAUD_PTS_EVT `find . -name "*.pdf"` ====== #grep -rin STAUD_PTS_EVT * | grep "*.pdf" //显然前者更快
#find . -name "*.pdf" | grep -irn STAUD_PTS_EVT //此命令是查找所有*.pdf 文件, 列出这些文件名中 含有STAUD_PTS_EVT 的文件!!!!!!!
2, 如果查找后列出内容过多,就需要用如下命令(只列出findcontents在所在文件的出现次数):
grep -ric STAUD_PTS_EVT * | grep -v :0
3, 如果根本不知道文件所在目录,就需要在根目录下进行查找(查找整个硬盘空间),但是由于根目录下某些文件(bin、sbin、boot、dev、initrd、lib)没有查找价值,因而要将其排除在查找范围之外# cd /
grep -rin findcontents `ls | grep -vE 'bin|boot|dev|initrd|lib'`
-i, --ignore-case
-n, --line-number
-c, --count
-r, --recursive
-v, --invert-match
-E, --extended-regexp
-e PATTERN, --regexp=PATTERN
Use PATTERN as the pattern; useful to protect patterns beginning with -.
注:有c的时候n将失效