【发布时间】:2018-09-03 15:04:32
【问题描述】:
我的情况如下: 有几个 tar 文件,称为 tar1.tar.gzip、tar2.tar.gzip 等。 每个都包含一个不同的文件,但名称相同 - fn.csv。
如果我一个接一个地解压到同一个目录,我会得到最后一个, 有没有办法让 tar 附加内容而不是跳过它?
到目前为止,我已经在每个解压缩后添加了唯一文件名的副本,然后连接所有文件,有没有更直接的方法(python 或 bash)?
【问题讨论】:
我的情况如下: 有几个 tar 文件,称为 tar1.tar.gzip、tar2.tar.gzip 等。 每个都包含一个不同的文件,但名称相同 - fn.csv。
如果我一个接一个地解压到同一个目录,我会得到最后一个, 有没有办法让 tar 附加内容而不是跳过它?
到目前为止,我已经在每个解压缩后添加了唯一文件名的副本,然后连接所有文件,有没有更直接的方法(python 或 bash)?
【问题讨论】:
tar 无法做到这一点。为了比您当前的解决方案做得更好,您需要编写自己的 untar 附加到当前文件。
【讨论】:
cat 提取的文件到最终目的地。
使用 GNU 焦油:
fileno="42"
tar -xvzf "tar${fileno}.tar.gzip" --transform 's/.*/file'"${fileno}"'.csv/' --show-transformed-names
这会将tar42.tar.gzip 提取到当前目录并将其文件命名为file42.csv。我假设存档只包含一个文件。
【讨论】: