情况:
请注意,有一个 tar 文件,其结构如下:
在我的磁盘上,有一个结构如下的目录:
问题:
有没有办法实现unpack命令不会创建新的diretories(=应该跳过/排除解压缩位置中不存在的目录),并且已经存在的文件不会被替换?< / p>
解压后磁盘结构应该是:
(请注意,不应创建DIR C)
更新
我已经发现'--skip-old-files'实现了在解包时不会替换旧的/现有文件。
答案 0 :(得分:2)
for d in $(ls -d /home/bob/*/); do tar -x -k -f /tmp/test.tar ${d}/* ; done
其中$(ls -d /home/bob/*/)
仅列出目的地上的目录,-k保留现有文件