Shell 模式匹配
shell 模式匹配中的特殊字符
* | 匹配任何字符串(包括空字符串). |
? | 匹配任何单个字符. |
[...] | 匹配包含的任意字符. |
注意事项:
‘*‘在文件名扩展中使用‘**‘将匹配所有文件和零个或多个子目录.如果在模式结尾加上‘/‘那么仅匹配目录和子目录不匹配文件.
[...] 如果一对字符由连字符(-)分割那么将表示一个范围.如果[]中第一个字符为‘!‘或‘^‘那么[]模式将变为不匹配包含的任意字符.
例如: [a-dx-z]等同于[abcdxyz]
extglob 选项开启
如果 shell 中开启 extglob 选项(■ Shell 内建命令 shopt extglob 选项)将支持下列的模式匹配.
?(pattern-list) # 匹配零或一个给定的模式. *(pattern-list) # 匹配零或多个给定的模式. +(pattern-list) # 匹配一或多个给定的模式. @(pattern-list) # 匹配一个给定的模式. !(pattern-list) # 匹配除了给定的模式.
多个参数可以使用"|"来进行分割.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。