我的tree命令返回
tmp
`-- t
`-- e
|-- 23.ps
`-- s
|-- adsf.ps
`-- t
`-- dupa.ps
Run Code Online (Sandbox Code Playgroud)
如何在tmp目录中创建存档ps.tar.gz,结构如下:
tmp
|-- ps.tar.gz
| |-- 23.ps
| |-- adsf.ps
| `-- dupa.ps
`-- t
`-- e
|-- 23.ps
`-- s
|-- adsf.ps
`-- t
`-- dupa.ps
Run Code Online (Sandbox Code Playgroud)
?
小智 11
对于GNU tar,您可以使用该--xform参数.它接受一个sed表达式并将其应用于每个文件名.因此,要删除最后一个字符/,您可以使用:
tar -c --xform s:^.*/:: your-files
Run Code Online (Sandbox Code Playgroud)
outfile=$(pwd)/ps.tar;find . -type f | while read file; do
tar rf $outfile -C $(dirname $file) $(basename $file)
done
gzip $outfile
Run Code Online (Sandbox Code Playgroud)