我有一个tar.gz
文件,我必须从中提取当前目录中的文件,而不创建整个结构。
例如:
tar.gz
包含以下文件,
/u01/app/oracle/file1
..
..
/u01/app/oracle/file10
/u01/testdata/file1
..
..
/u01/testdata/file5
存在tar.gz
于/u02
.因此,当提取时,我想file1
通过file10
进入/u02
,整个目录结构是在下面创建的/u02
答案1
由于您似乎有固定数量的路径组件,因此通过--条带组件=3tar
解压/u01/app/oracle
时删除/u02
对于可变数量的组件,请改用该--transform
标志。类似的东西--transform='s,^\([^/][^/]*/\)\+,,'
答案2
使用标准pax
命令:
gunzip < file.tar.gz | pax -r's|.*/||p'