Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何仅提取文件而不提取目录继承权_Bash_Shell_Unix - Fatal编程技术网

Bash 如何仅提取文件而不提取目录继承权

Bash 如何仅提取文件而不提取目录继承权,bash,shell,unix,Bash,Shell,Unix,如何仅提取文件而不提取目录继承权。 假设我有一个myarchive.tgz文件,其中有许多目录,每个目录中都有它们的文件 eg.myarchive.tgz/folder1/file1.txt /folder2/folder2.1/file2.txt 现在,每当我提取它时,它就会以相同的继承权进入目录,它就在存档中。 我想抽像 myarchive/file1.txt /file2.txt 像这样。 怎么做?请

如何仅提取文件而不提取目录继承权。 假设我有一个myarchive.tgz文件,其中有许多目录,每个目录中都有它们的文件

 eg.myarchive.tgz/folder1/file1.txt                
                 /folder2/folder2.1/file2.txt
现在,每当我提取它时,它就会以相同的继承权进入目录,它就在存档中。 我想抽像

myarchive/file1.txt
         /file2.txt
像这样。
怎么做?请帮忙

您可以将tarball解包到一个临时文件夹:

rm -rf /tmp/foo && mkdir /tmp/foo # make sure the folder exists and is empty
tar xf foo.tgz -C /tmp/foo
然后将文件复制到最终位置:

rm -rf unpacked && mkdir unpacked # make sure the folder exists and is empty
find /tmp/foo -type f -exec cp -v {} unpacked \;

注意:
tar-C
特定于GNU tar。如果您的tar不理解
-C
,请使用:

cd /tmp/foo
tar xf foo.tgz

查找:“-exec”缺少参数对不起,我的错。添加了必要的
\最好使用“+”:
查找-键入f-exec cp-v{}unpacket+
oh,并使用
mktemp-d
来“确保文件夹存在且为空”创建高度依赖于平台的临时文件和文件夹,例如,posix没有指定mktemp。与
+
相同,而不是
。因此,优化工作留给OP来完成