linux之通配符和正则表达式的不同 - pod4g/tool GitHub Wiki
一、通配符和正则表达式的区别
- 通配符是shell内置支持的,而正则表达式是程序支持的,例如
grep、sed、awk
- 通配符规则简单,元字符只有
* ? []
,正则表达式规则复杂
二、通配符
通配符常用在find/locate
命令中,通配符是完全匹配,相当于正则表达式前后加^$
,规则如下:
*
代表任意个任意字符?
代表任意一个字符[]
字符类。和正则表达式的中的含义相同。也支持范围和取反。比如[a-z]或[!a-z]。- 字符类取反要注意
find ./ -iname *.T[\!a-z]T
需要在取反符号前面加上转义
通配符只有上述几个规则,在实际运用中我们可以灵活组合使用。
https://askubuntu.com/questions/714503/regular-expressions-vs-filename-globbing/714520#714520