Linux查找包含指定内容(字符串)的文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangvalue/article/details/89181299

1.查找当前目录下文件内容包含字符串string的文件
     find . | xargs grep string 
为什么要这样写,因为管道命令符是把上一部的结果传递给下一步来处理,在 find . | grep string中虽然看似和find . | xargs grep string差不多,但是实际上还是有区别的。应为find .得到的结果是一串文件名集合,如果直接传递给grep的话,grep会把这些文件名看作一些无意义的字符串来处理。但是传递给xargs,他会把他当作一个有意义的文件来处理。

举例:

 find . | xargs grep  anchors=sorted

在当前文件夹下面查找包含有 ‘anchors=sorted’ 字符串的文件

ever:spider zhangsf$ ls
p1.py  spider.py
ever:spider zhangsf$ find . | xargs grep  anchors=sorted
grep: .: Is a directory
./p1.py:#         anchors=sorted(anchors,key=self.__sort_seed(),reverse=True)
./spider.py:        anchors=sorted(anchors,key=self.__sort_seed(),reverse=True)

查询出来有 p1.py 文件和 spider.py文件


2.查找当前目录下文件名包含字符串string的文件
  find . -name '*string*' 
如果要查找文件名中不包含字符串string的文件,可以使用!(取非,也就是取反)。
find . ! -name '*string*'

举例:

ever:spider zhangsf$ ls
p1.py  spider.py
ever:spider zhangsf$ find . ! -name '*s*'
.
./p1.py

查找当前目录下文件名包含‘s' 的文件

查出来只有p1.py

猜你喜欢

转载自blog.csdn.net/zhangvalue/article/details/89181299