通配符 *和正则表达式 *

"本文介绍了通配符*在Linux命令行中匹配文件的作用,例如`ls *`用于列出所有文件。同时,解释了正则表达式中*的用法,它表示前面的字符可以匹配0次或任意多次。通过实例展示了`grep`命令如何使用正则表达式进行字符串匹配,如`grep "aa*"`会匹配至少包含一个a的字符串。文章强调了通配符与正则表达式的区别,前者常用于文件查找命令,后者用于文本搜索命令。"
摘要由CSDN通过智能技术生成

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自己的通配符来进行匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值