Linux 在不创建包含层次结构的情况下从tar文件中提取特定目录

Linux 在不创建包含层次结构的情况下从tar文件中提取特定目录,linux,bash,shell,tar,Linux,Bash,Shell,Tar,假设一个tar文件具有以下布局 $ tar -xvf test.tar -C test ./one/two/three ./one/two/three/ ./one/two/three/four/ ./one/two/three/four/file00.txt ./one/two/three/four/file01.txt ./one/two/three/four/file02.txt ./one/two/three/four/file03.txt ./one/two/three/four/f

假设一个tar文件具有以下布局

$ tar -xvf test.tar -C test ./one/two/three

./one/two/three/
./one/two/three/four/
./one/two/three/four/file00.txt
./one/two/three/four/file01.txt
./one/two/three/four/file02.txt
./one/two/three/four/file03.txt
./one/two/three/four/file04.txt
./one/two/three/four/file05.txt
是否可以只提取名为“four”的目录及其指定目录的内容。 但是dirfour应该与前面提到的输出dir直接对应

$ tar -xvf test.tar -C test one/two/three

我已经尝试过了,但是输出dir <强>测试< /强>包含所有文件夹层次结构到dir四。

您是否考虑过预处理“<代码> TAR < /代码>存档?

< p>这只适用于只提取<代码> / /一/二/三/四/ < /COD>目录:

tar -xvf test.tar ./one/two/three/four/

它不可能一蹴而就;您需要
mv
所需的目录。是的,我也这么认为……不,事实上我第一次听说了tardy。我希望目标目录应该包含四个直接级别的目录,而不是内部目录。/one/two/three/four这是因为您的原始路径本身是
/one/two/three/four/
。如果您愿意,您可以在之后执行
mv
命令来满足您的需要。是的,但我想知道tar是否也有一些选项!我认为这样做没有内置的tar选项。