Shell字符串通配符

Shell提供了一套完整的字符串匹配规则。我们在使用find,ps等等命令或者编写脚本时,经常会用到字符串的模糊匹配功能。

常用的特殊字符:

* 匹配文件名中的任何字符串,包括空字符串。

? 匹配文件名中的任何单个字符。

[...] 匹配[ ]中所包含的任何字符。

[!...] 匹配[ ]中非感叹号!之后的字符。

使用*匹配所有字符串

*号可以放在字符串中可以充当任何字符串来用作模糊匹配。包括字符串开头,中间和结束。

# 放在字符串末尾匹配特定开头的字符串
$ ls app*
# 匹配app applist app_tapes app123

# 放在字符串开头匹配特定特定结尾的字符串
$ ls *app
# 匹配app 123app listapp tapes_app

# 放在字符串中间匹配特定开头和结尾的字符串
$ ls app*dir
# 匹配appdir app123dir app_tapesdir

使用?匹配单个任意字符

?可以匹配单个任何字符。可以放在字符串的任何位置。

$ ls *.??.txt
# 匹配 app.rt.txt app123.12.txt ap_._q.txt

使用[...]和[!...]匹配和排除特定的字符串

# 匹配io开头的文件
$ ls [io]*

# 匹配log.开头,后面跟随一个数字,然后可以跟任意字符串的文件
$ ls log.[0-9]*

# 匹配log.开头,后面跟随一个非数字,然后可以跟任意字符串的文件
$ ls log.[!0-9]*

# 匹配大写字母开头
$ ls [A-Z]*

# 匹配小写字母开头
$ ls [a-z]*

# 匹配数字开头
$ ls [0-9]*

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值