tar另一个目录的子目录下的文件列表

时间:2018-05-21 23:42:15

标签: linux shell find xargs

如何根据文件夹 SOME_FOLDER SUB_FOLDER 下的名称 SOME_FILE_NAME 列出文件列表。我使用以下命令列出文件

find <SOME_FOLDER> -name <SUB_FOLDER> -execdir realpath "{}" ';' | xargs -I p find p -name <SOME_FILE_NAME>

例如,以下命令列出了我想要tar的3个文件

命令

find /logs/ -name app-2018 -execdir realpath "{}" ';' | xargs -I p find p -name stdout

输出

/logs/app-2018/2/stdout
/logs/app-2018/0/stdout
/logs/app-2018/1/stdout

结果应该高于3个文件。

1 个答案:

答案 0 :(得分:0)

使用-path匹配文件的完整路径。您可以通过一次检查来检查文件名及其包含的目录。

find /logs/ -path '*/app-2018/*/stdout' -exec tar -cf logs.tar {} +