gpt4 book ai didi

linux - 在不创建新目录的情况下解压缩 tar,仅将 tar 中的新文件合并到现有目录结构中

转载 作者:太空狗 更新时间:2023-10-29 12:11:46 25 4
gpt4 key购买 nike

情况:

让我们提一下有一个结构如下的tar文件:

  • 目录 A
    • 文件 1
  • 目录 B
    • 文件 2
  • 目录 C
    • 文件 3

在我的磁盘上有一个结构如下的目录:

  • 目录 A
    • 文件 1
    • ... (更多文件和文件夹)
  • 目录 B
    • ... (文件和文件夹,但不包括文件 2)

问题:

有没有办法实现解压命令不创建新目录(= 解压位置中不存在的目录应被跳过/排除)并且已经存在的文件不会被替换?

解压后的磁盘结构应该是这样的:

  • 目录 A
    • 文件 1 (未替换为 tar)
    • ... (更多文件和文件夹)
  • 目录 B
    • 文件 2 (来自 tar,因为它之前不存在)
    • ... (更多文件和文件夹,但不包括文件 3)

(请注意不应创建 DIR C)

更新

我已经发现'--skip-old-files' 实现了旧的/现有的文件不会在解包时被替换。

最佳答案

for d in $(ls -d /home/bob/*/); do tar -x -k -f /tmp/test.tar  ${d}/* ; done

where $(ls -d/home/bob/*/) 仅列出目标目录,-k 保留现有文件

关于linux - 在不创建新目录的情况下解压缩 tar,仅将 tar 中的新文件合并到现有目录结构中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41280545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com