使用该find命令时,为什么在匹配其他所有内容时,以下内容将成功忽略隐藏目录(以句点开头的目录):
find . -not \( -type d -name ".?*" -prune \)
但这根本不匹配:
find . -not \( -type d -name ".*" -prune \)
唯一的区别是问号.后一个命令不应该同样检测和排除以句点开头的目录吗?
后一个命令修剪一切,因为它修剪.- 尝试这些看到差异:
$ ls -lad .*
.
..
.dotdir
$ ls -lad .?*
..
.dotdir
Run Code Online (Sandbox Code Playgroud)
你会看到第二个.中没有包含它,因为它只有一个字符长.glob" .?*"仅包含至少两个字符长的文件名(点,加上任何单个字符,非可选,加上任何零个或多个字符的序列).
顺便说一下,find不是Bash命令.
| 归档时间: |
|
| 查看次数: |
3095 次 |
| 最近记录: |