我的目标是在文件系统中查找以点 ( .
)开头的所有文件或目录,例如.gnupg
. 所以我想出了这个命令:
find -name '.*'
Run Code Online (Sandbox Code Playgroud)
在网上查了一下,看到一些提示说我应该[.]*
改用作为-name
选项的参数值。两种方法有什么区别,因为结果看起来一样?
根本没有区别。如果你试试:
$ diff <(find -name '.*') <(find -name '[.]*')
Run Code Online (Sandbox Code Playgroud)
你没有输出。这意味着命令输出是相同的。我认为你是在断章取意地理解这个“暗示”。意图可能有所不同。
从find
手册页:
-name pattern
文件名的基础(删除了前导目录的路径)匹配 shell 模式模式。基本名称开头的元字符(*',
?' 和[]') match a
.' (这是 findutils-4.2.2 中的更改)
这意味着[]
在-name
参数中被解释为一个字符类。除了里面什么都没有.
,它匹配一个文字.
,就好像你没有使用[]
.
归档时间: |
|
查看次数: |
1284 次 |
最近记录: |