版权声明:本文为博主原创文章,未经博主允许不得转载。 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