当我使用正则表达式复制所有隐藏文件时,它工作正常:
cp -r source/\.[^.]* destination/
Run Code Online (Sandbox Code Playgroud)
它只是复制以点开头的文件.
。
但是,我还发现了以下作品:
cp -r source/.[^.]* destination/
Run Code Online (Sandbox Code Playgroud)
在正则表达式中,点不.
表示“任何单数字符”吗?那么为什么第二个命令不复制常规文件(那些没有隐藏的)?
为什么点.
在cp
命令中按字面解释?
小智 7
cp
,以及其余的内置 shell 命令,接受和扩展glob 模式而不是正则表达式。它们在某些方面相似,在许多方面不同。例如,.
globs 中的is 字面量,任何单个字符都与?
.
在这种情况下,您的朋友是man 7 glob
。