在tarring时消除目录层次结构。

时间:2012-04-20 20:15:31

标签: linux tar

$ tar -zcvf archive/test.tar.gz files

会给我如下:

files/
files/1
files/2
files/3

-

$ tar -zcvf archive/test.tar.gz -C files .

会给我如下:

./
./1
./2
./3

我无法为输出找出正确的tar命令,如下所示。

1
2
3

2 个答案:

答案 0 :(得分:1)

您使用--transform选项,该选项采用sed表达式。

--transform="s/^\.\///"

应该有预期的效果。

编辑糟糕,看起来这样会在tar存档中留下一个前导'./'条目,这可能是不可取的。使用@ paulsm的答案可能更简单,但它可能会错过隐藏文件(以。开头的文件)。

答案 1 :(得分:0)

就个人而言,我只是:

cd files
tar -zcvf /full-path/archive/test.tar.gz *