需要 untar 命令的帮助 - 想要从多个 .tar 文件解压,然后将文件移动到公共目录

需要 untar 命令的帮助 - 想要从多个 .tar 文件解压,然后将文件移动到公共目录

我有几个 tar 文件(~270),它们解压到以下单独的目录结构中:

00001.tar->/00001/001/file1.ima

00002.tar->/00002/001/file2.ima

。 。 。

00270.tar->/00270/001/file270.ima

我想知道 untar 命令中是否有一个说明符,它不仅允许我解压文件,还可以将文件(file1.ima、file2.ima、...file217.ima)移动到一个公共目录。

有人知道怎么做吗?如果这是一件简单的事情,我很抱歉;我在这方面很缺乏经验(显然)。

在此先非常感谢大家提供的任何帮助!

答案1

就像是

for f in {00001..00270}.tar; do
  tar xf "$f" --strip-components=1 
done

应将它们全部解压到目录中001(即剥离前导路径组件00001/00002/)。如果您想将它们解压到完全不同的位置,可以使用-C选项和(可选)剥离两个都原始路径组件

for f in {00001..00270}.tar; do
  tar xf "$f" --strip-components=2 -C path/to/other/dir 
done

(目录path/to/other/dir必须已经存在)。

相关内容