用于查找所有文件的Unix命令

时间:2016-02-08 23:52:13

标签: unix terminal command

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

由于

2 个答案:

答案 0 :(得分:1)

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

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

检查路径名的 leaf 名称(最后一部分)。如果您以类似的方式通过find通过grep传送结果:

find / -type f | grep foo

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

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

find / -type f | grep -i foo

匹配“foo”忽略大小写。

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

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

进一步阅读:

答案 1 :(得分:0)

使用find列出系统上的所有文件。

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

像这样:

find / -type f -exec grep -i -r "*foo*" {}