Bash Shell按类型查找文件

Bash Shell按类型查找文件,你正在查找名称中带有单词“java”的目录。先尝试了以下命令。

find . -name '*java*' -print

找到的文件太多了,其中还包括文件系统中所有的 Java 源代码文件。

解决方案

使用 -type 谓词只选择目录。

find . -type d -name '*java*' -print

讨论

我们将 -type d 放在前面,然后是 -name '*java*'。两者的顺序并不影响最终结果,但将 -type d 放在谓词列表的最前面能略微提高搜索效率:对于碰到的每个文件,先测试其是否为目录,如果是,才测试名称是否符合模式。目录的数量比文件要少一些。

因此,这种测试顺序使得大部分文件不用再进一步比较名称了。这有什么大不了的吗?随着处理器的速度越来越快,这算不上什么大事。但随着硬盘容量越来越大,这又变得愈发重要。能测试的文件类型不止目录一种。下表列出了代表文件类型的单字符。

用于find命令的-type谓词的文件类型字符

Bash Shell按类型查找文件

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!