通配符使用的地方:shell命令或者shell脚本中
正则表达式使用的地方:字符串处理时,一般有一般正则和perl正则
通配符: * 匹配所有:匹配0-多个任意的字符 ?匹配任意单个字符 []匹配括号内的一个字符 [!] 匹配不在括号内的一个字符,和正则中的^作用相似,都是反向选择 [a-z] 不区分大小写 [0-9] 匹配数字 [^0-9]出了数字 [[:upper:]] 纯大写 [[:lower:]] 纯小写 [[:alpha:]] 字母 [[:alnum:]] 字母和数字 [[:digit:]] 数字 . 点在通配符中没有意义
当要把以上的* ? 等当成参数或者字符串时,要限制shell不能当成通配符,这是需要加单引号或者| shell可以识别*
yum install vsftp* yum install vsftp\* yum install 'vsftp*'
正则表达式:
* 前一个字符匹配零次或者任意多次 . 匹配出了换行符意外任意一个字符 ^ 匹配行首 以某个字符开头的行 $ 匹配行位 []匹配括号中的任意一个字符,但是只匹配一个字符 ?匹配前边的字符出现一次或者零次 + 匹配前边的字符出现1次或者多次 ^$ 匹配空行 \< \b:其后便的任意字符必须作为单词首部出现 \> \b:其前边的任意字符必须作为单词尾部出现 (ab)*匹配ab出现任意多次 \1:引用第一个左括号以及对应的右括号所包含的内容
[^]匹配除括号以为的任意一个字符 \转义符,取消特殊含义 {n}表示前边的字符恰好出现n次 {n,}表示前边的字符出现不小于n次 {n,m}表示前边的字符出现n到m次
egrep ([0-9]{1,3}\.){3}[0-9]{1,3}