模式匹配全解析:从基础到扩展
1. 字符范围匹配基础
在进行文件匹配时,我们常常会用到一些特殊的字符和范围表示。例如,以下是一些常见的操作示例:
% ls
file- file+ file[0]
% echo *[-+]
file- file+
% echo *[]-]
file- file[0]
% echo *[^]-]
file+
这里, * 表示匹配任意数量的任意字符, [-+] 表示匹配 - 或 + 字符。需要注意的是,要匹配字面上的 ^ 字符,它不能紧跟在左方括号之后。例如:
% ls
_func +note ^readme
% echo [+^]*
+note ^readme
另外,如果要在字符类中包含 ] 、 - 、 ^ 或 \ 这些特殊字符,可以使用反斜杠进行转义。在 bash 中, [\]\-\^] 可以匹配这三个在字符类中特殊的字符。不过,zsh 不允许用这种方式转义连字符 - ,你必须将其放在首位,或者在用于取反的 ^ 之后。在字符类中,反斜杠也需要双写才能被视为普通字符。
2. 选择合适的字符范围
在早期的 Unix 系统中,判断一个字符是否在某个
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



