在下面的命令将tar
所有的“点”文件和文件夹:
tar -zcvf dotfiles.tar.gz .??*
Run Code Online (Sandbox Code Playgroud)
我熟悉正则表达式,但我不明白如何解释.??*
. 我执行ls .??*
并tree .??*
查看了列出的文件。为什么此正则表达式包含文件夹中以.
例如开头的所有文件?
jw0*_*013 32
Glob不是正则表达式。通常,shell 会尝试解释您在命令行中输入的任何未引用为 glob 的内容。Shell 根本不需要支持正则表达式(尽管实际上许多更高级的更现代的都支持,例如构造中的=~
正则表达式匹配运算符bash
[[
)。
这.??*
是一个球体。它匹配以文字点开头的任何文件名.
,后跟任意两个(不一定相同)字符??
,后跟等价于 的正则表达式[^/]*
,即 0 个或多个不是 的字符/
。
有关 shell 路径名扩展(“globbing”的全名)的完整详细信息,请参阅POSIX 规范。
归档时间: |
|
查看次数: |
1554 次 |
最近记录: |