gpt4 book ai didi

bash - 使用 GNU find 命令忽略/删除隐藏目录

转载 作者:行者123 更新时间:2023-11-29 08:50:39 29 4
gpt4 key购买 nike

当使用 find 命令时,为什么下面的命令会在匹配其他所有内容时成功忽略隐藏目录(以句点开头的目录):

找到 . -not\( -type d -name ".?*"-prune\)

但这根本不匹配任何东西:

找到 . -not\( -type d -name ".*"-prune\)

唯一的区别是问号。后一个命令不应该同样检测并排除以句点开头的目录吗?

最佳答案

后一个命令会修剪所有内容,因为它会修剪 - 尝试这些以查看区别:

$ ls -lad .*
.
..
.dotdir
$ ls -lad .?*
..
.dotdir

您会看到在第二个中,. 未包含在内,因为它只有一个字符长。 glob“.?*”仅包括至少两个字符长的文件名(点,加上任何单个字符,非可选地,加上零个或多个字符的任何序列)。

顺便说一下,find 不是 Bash 命令。

关于bash - 使用 GNU find 命令忽略/删除隐藏目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2174303/

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