untar 个与 concatenated/appended 文件同名的多个 tar 文件
untar multiple tar files with identical names to a concatenated/appended file
我的情况如下:
有几个名为 tar1.tar.gzip、tar2.tar.gzip 等的 tar 文件。
每个都包含一个不同的文件但具有相同的名称 - fn.csv.
如果我把tar一个接一个地解到同一个目录,我得到最后一个,
有没有办法让 tar 附加内容而不是跳过它?
到目前为止,我已经在每个 untar 之后添加了唯一文件名的副本,然后连接了所有文件,有没有更直接的方法(python 或 bash )?
tar 没有选项可以做到这一点。为了比您当前的解决方案做得更好,您需要编写自己的 untar 附加到当前文件。
使用 GNU tar:
fileno="42"
tar -xvzf "tar${fileno}.tar.gzip" --transform 's/.*/file'"${fileno}"'.csv/' --show-transformed-names
这会将 tar42.tar.gzip
提取到当前目录并将其文件命名为 file42.csv
。我假设存档只包含一个文件。
我的情况如下: 有几个名为 tar1.tar.gzip、tar2.tar.gzip 等的 tar 文件。 每个都包含一个不同的文件但具有相同的名称 - fn.csv.
如果我把tar一个接一个地解到同一个目录,我得到最后一个, 有没有办法让 tar 附加内容而不是跳过它?
到目前为止,我已经在每个 untar 之后添加了唯一文件名的副本,然后连接了所有文件,有没有更直接的方法(python 或 bash )?
tar 没有选项可以做到这一点。为了比您当前的解决方案做得更好,您需要编写自己的 untar 附加到当前文件。
使用 GNU tar:
fileno="42"
tar -xvzf "tar${fileno}.tar.gzip" --transform 's/.*/file'"${fileno}"'.csv/' --show-transformed-names
这会将 tar42.tar.gzip
提取到当前目录并将其文件命名为 file42.csv
。我假设存档只包含一个文件。