1 通配符 *
作用:匹配0个或任意多个任意字符,也就是可以匹配任何内容
例1:
“*”代表所有的文件
[root@localhost tmp]# ls *
012 0abc abc abcd
例2:
匹配不已数字开头的文件
[root@localhost tmp]# ls [^0-9]*
abc abcd
2 正则表达式 *
作用:“*”前一个字符匹配0次,或任意多次
例1:
a匹配0次或者任意多次,这里没有作用
[root@iZwz9104i5lanrl3z0ecf9Z home]# grep "a*" test.txt
asd
ggg
dffa
例2:
如果这样写正则表达式“aa*”代表这行字符串一定要有一个a,但是后面有没有a都可以,即至少匹配1个a
[root@iZwz9104i5lanrl3z0ecf9Z home]# grep "aa*" test.txt
asd
dffa
例3:
如果正则表达式是“aaa*”,则会匹配最少包含两个连续a的字符串
[root@localhost ~]# grep "aa*" test_rule.txt
Mr. Li Ming said:
he was the most honest man.
But since Mr. shen Chao came, he never saaaaid those words.
because,actuaaaaaally,
Mr. Shen Chao is the most honest man
Later,Mr. Li ming soid his hot body
例4:
如果正则表达式是“aaa*”,则会匹配最少包含两个连续a的字符串
[root@localhost ~]# grep "aaa*" test_rule.txt
he never saaaaid those words.
because,actuaaaaaally,
区别:用来在文件当中搜索字符串的命令,如grep、awk、sed等命令可以支持正则表达式,而在系统当中搜索文件的命令,如ls、find、cp这些命令不支持正则表达式,只能使用shell自己的通配符来进行匹配。