简体   繁体   English

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

[英]Tar a list of files under a sub directory of another directory

How do I tar a list of files by name SOME_FILE_NAME that are under SUB_FOLDER of folder SOME_FOLDER . 如何将名称为SOME_FILE_NAME的文件列表放在文件夹SOME_FOLDER的SUB_FOLDER下 I use following command to list the files 我使用以下命令列出文件

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

For example, following command lists 3 files that I want to tar 例如,以下命令列出了我要压缩的3个文件

Command : 命令

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

Output : 输出

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

The result should tar above 3 files. 结果应在3个文件以上。

Use -path to match a file's full path. 使用-path匹配文件的完整路径。 You can check both the file name and the directory it's contained in with one check. 您可以通过一次检查来检查文件名及其所在的目录。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM