从 tar.gz 文件中选择性提取文件

从 tar.gz 文件中选择性提取文件

我有一个文件 data_backup_202.tar.gz,其中包含 400 多个文件。这些文件的日期戳可以追溯到 2010 年。

我想从这个 data_backup_202.tar.gz 中提取或解压缩过去 6 个月的文件。

答案1

用 列出内容tar tzf data_backup_202.tar.gz | cat --number

用于tail截断列表以仅包含您想要提取的成员:

tar tzf data_backup_202.tar.gz | \
  tail -n 256

通过管道传输所需成员名称列表,xargs它将尽可能多的成员名称放在生成的命令行上,同时避免“ Line too long”错误:

tar tzf data_backup_202.tar.gz | \
  tail -n 256 | \
  xargs -r tar xvf data_backup_202.tar.gz

man xargs tail tar

相关内容