如何获取文件名包含特定字符串的目录(包括其子目录)中的所有文件列表

如何获取文件名包含特定字符串的目录(包括其子目录)中的所有文件列表

我想从目录中检索文件列表,也包括其子目录,其文件名包含“信息-“ 或者 ”安全的“。我尝试使用以下命令,但它们无法从其子目录中读取文件。

find /u01 -maxdepth 1 -name "*message-*"

find . -name "*message-*"

find /u01 -type f -printf '%s %p\n' | sort -nr | head -20 | find  -maxdepth 1 -name "*message-*" -a -name "*secure*"

你能帮忙解决这个问题吗...

答案1

我认为只需使用如下所示即可:

find . -type f -iname "*message-*" -o -iname "*secure*"

答案2

下面的命令对我有用。

find /u01 -type f \( -name "*message*" -o -name "*secure*" \)   -type f -printf '%s %p\n'

获取名称中包含这两个字符串的前 20 个最大文件。

find /u01 -type f \( -name "*message*" -o -name "*secure*" \)   -type f -printf '%s %p\n' | sort -nr | head -20

相关内容