gpt4 book ai didi

linux - tar: 目录: 无法 rmdir: 目录不为空

转载 作者:行者123 更新时间:2023-12-05 07:06:48 26 4
gpt4 key购买 nike

我试图了解使用 tar 的正确方法是什么。我有一个名为 main 的目录,在 sub 目录中,它包含一些我想排除的文件和目录。我想删除的所有其他人。我使用的命令:

tar --remove-files --exclude main/sub/.runtime --exclude main/sub/.startTime --exclude main/sub/subsubdir -zcvf main.tar.gz main

但是我得到:

tar: main/sub: Cannot rmdir: Directory not empty
tar: Exiting with failure status due to previous errors

当然 main/sub 目录不是空的(因为排除了文件/目录)。在不将输出重定向到 /dev/null 或其他方式的情况下解决它的正确方法是什么?我仍然想得到错误,但不是那个错误。

最佳答案

这可能是 --remove-files 选项的错误。

您可以包含文件而不是排除文件:

#!/usr/bin/env bash

shopt -s dotglob extglob nullglob
tar -zcvf main.tar.gz main/!(sub) main/sub/!(*@(.runtime|.startTime|subsubdir))

一旦您对结果满意,请添加 --remove-files

关于linux - tar: 目录: 无法 rmdir: 目录不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62375314/

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