Unix命令查找所有文件

我需要一个unix命令来列出名称中包含'foo'的所有文件? 我们有两个命令:grep命令和find命令! 什么是最好的?

谢谢


find命令本身就足够了(除非你想在包含“foo”的目录中包含文件):

find / -type f -name '*foo*'

这将检查路径名的叶名(最后部分)。 如果你以类似的方式通过grep find结果:

find / -type f | grep foo

它将匹配这些文件,以及名称包含“foo”的目录内的所有文件(和目录)。

要以更有趣的方式过滤列表,可以使用支持正则表达式和其他功能的grep 。 例如,你可以做

find / -type f | grep -i foo

匹配“富”忽略案件。

但是如果你想看看文件的内容,那就是grep特定的:

find / -type f -exec grep foo {} +

进一步阅读:

  • grep的

  • 使用find来列出系统中的所有文件。

    将它与grep配对以搜索特定的文件名。

    喜欢这个:

    find / -type f -exec grep -i -r "*foo*" {}
    
    链接地址: http://www.djcxy.com/p/78003.html

    上一篇: Unix command to find all files

    下一篇: Recursive copy of specific files in Unix/Linux?