【问题标题】:Force find to look through all subdirectories [closed]强制查找查看所有子目录[关闭]
【发布时间】:2018-06-30 20:10:21
【问题描述】:

我使用find 在服务器上搜索日志文件,如下所示:

find . -name "*log*"

这并没有返回任何有用的信息,因此我查看了一些配置文件,并在名为 build/private 的子目录中发现了一些日志文件。

如果我将该目录名直接传递给find,它将发现那些日志文件:

find ./build/private -name "*log*"

所以看起来find 默认忽略了一些子目录。因此,我不确定我还缺少哪些其他日志文件。

我查看了find 的手册页,但没有看到任何会强制它遍历所有子目录并查看所有文件的选项。

有这样的选择吗?

为什么不查看所有子目录?

【问题讨论】:

标签: linux command-line find rhel


【解决方案1】:

find 可以很好地处理子目录。您的名称模式与任何文件都不匹配。

您最好使用grep 进行模式匹配,例如,这将找到所有末尾带有“.log”扩展名的文件,而不是“logchopper.py”:

find . | grep '\.log$'

【讨论】:

  • 无论我是否使用$,此命令在查找日志文件时也不起作用。
  • 你可以find . | grep build | grep private看看结果吗?
  • 是的,没有显示任何内容。我实际上注意到build 是一个符号链接。
  • @octavian 好的,让我们让它更简单:ls | grep build ?和find . | grep build ?
  • @octavian 你试过-L 吗? =)
猜你喜欢
  • 1970-01-01
  • 2012-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-31
  • 1970-01-01
  • 2013-02-02
  • 2016-01-30
相关资源
最近更新 更多