【问题标题】:untar multiple tar files with identical names to a concatenated/appended file将具有相同名称的多个 tar 文件解压缩到串联/附加文件
【发布时间】:2018-09-03 15:04:32
【问题描述】:

我的情况如下: 有几个 tar 文件,称为 tar1.tar.gzip、tar2.tar.gzip 等。 每个都包含一个不同的文件,但名称相同 - fn.csv。

如果我一个接一个地解压到同一个目录,我会得到最后一个, 有没有办法让 tar 附加内容而不是跳过它?

到目前为止,我已经在每个解压缩后添加了唯一文件名的副本,然后连接所有文件,有没有更直接的方法(python 或 bash)?

【问题讨论】:

    标签: python bash unix gzip tar


    【解决方案1】:

    tar 无法做到这一点。为了比您当前的解决方案做得更好,您需要编写自己的 untar 附加到当前文件。

    【讨论】:

    • ... 或者只是解压到不同的目录,然后cat 提取的文件到最终目的地。
    【解决方案2】:

    使用 GNU 焦油:

    fileno="42"
    tar -xvzf "tar${fileno}.tar.gzip" --transform 's/.*/file'"${fileno}"'.csv/' --show-transformed-names
    

    这会将tar42.tar.gzip 提取到当前目录并将其文件命名为file42.csv。我假设存档只包含一个文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-16
      • 2017-11-03
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 2013-12-29
      相关资源
      最近更新 更多