-1

在 Unix 中,如何在目录树(包括其所有子目录)中创建包含所有文件的压缩存档(tar.gz)?

像这样的东西:

ls -lR | grep <ext> | tar xxxx file.tar.gz
4

2 回答 2

1

你的意思是:

find -name '*.ext' -exec tar -rzf file.tar.gz {} +

?

  1. -name '*.ext'查找所有带.ext后缀的文件,
  2. -exec ... {} +表示使用所有找到的文件作为参数执行命令,
  3. tar -rzf file.tar.gz表示将文件附加file.tar.gz到. 如果参数列表太长并且tar调用需要拆分,则它是“附加”。-r用于追加,-z用于 gzip-compress,-f用于指定存档文件名。

请注意,如果file.tar.gz已经存在,则需要先获取rm它。

于 2012-08-24T08:17:26.530 回答
0
find your_path -type f -name "*.your_ext" | xargs tar -czf your_file.tar.gz
于 2012-08-24T08:18:26.547 回答