bash中的通配符小结

【bash中的通配符】

在 Bash 中,如果需要模糊匹配文件名或目录名,就要用到通配符。下面为常用的通配符

【通配符】 【说明】

* 匹配0或任意个字符

? 匹配一个任意字符

-\] 匹配中括号的字符。例如\[a-b\],匹配小写字母,只会匹配集合中的一个 \[\^\]或\[!\] 匹配除了中括号的一个字符。例如\[\^0-9\],匹配除了数字的字符,只会匹配集合中的一个 {ab,ba} 匹配其中一个字符串。例如匹配ab或ba \[\[:class:\]\] 匹配属于字符类class中的任意单个字符 常见的字符类包括: \[:alnum:\]:匹配任意一个字母和数字字符。 \[:alpha:\]:匹配任意一个字母字符。 \[:blank:\]:匹配空格和制表符。 \[:digit:\]:匹配任意一个数字字符。 \[:graph:\]:匹配任意一个可打印字符(不包括空格)。 \[:lower:\]:匹配任意一个小写字母。 \[:print:\]:匹配任意一个可打印字符(包括空格)。 \[:punct:\]:匹配任意一个标点符号。 \[:space:\]:匹配任意一个空白字符,包括空格、制表符、换页符等。 \[:upper:\]:匹配任意一个大写字母。 \[:xdigit:\]:匹配任意一个十六进制数字字符。 下面是一些验证实例: \[apps@test-001 \~\]$ touch lmgs \[apps@test-001 \~\]$ ls l\[!o\]gs lmgs \[apps@test-001 \~\]$ ls l\[\^o\]gs lmgs \[apps@test-001 \~\]$ ls l{og,mg}\* lmgs logs: csp nacos 据此我们创建文件的时候可以根据通配符精确创建需要的文件,例如 \[apps@test-001 \~\]$ touch steven{mama,baba}.log \[apps@test-001 \~\]$ ls steven\* stevenbaba.log steven.json stevenmama.log steven.txt 【验证字符类的实例】 \[apps@test-001 \~\]$ touch l12345gs \[apps@test-001 \~\]$ ls l\[\[:alnum:\]\]\* l12345gs lmgs logs: csp nacos 【中间不出现数字的文件\[!\[:digit:\]\]】 \[apps@test-001 \~\]$ ls l\[!\[:digit:\]\]gs lmgs logs: csp nacos \~\]$ ls l\[\^\[:digit:\]\]gs lmgs logs: csp nacos 【综上:通过以上实验,我们可以看到在通配符中相反的含义\[\^\]或\[!\]两者实现的效果是等价的】

相关推荐
mingqian_chu31 分钟前
ubuntu中使用安卓模拟器
android·linux·ubuntu
GalaxyPokemon2 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼2 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
瞌睡不来2 小时前
(学习总结32)Linux 基础 IO
linux·学习·io
inquisiter2 小时前
UEFI镜像结构布局
linux·spring
Linux运维老纪3 小时前
运维之 Centos7 防火墙(CentOS 7 Firewall for Operations and Maintenance)
linux·安全·centos·云计算·运维开发·火绒
斯普信专业组3 小时前
Ceph异地数据同步之-RBD异地同步复制(下)
linux·服务器·ceph
counsellor3 小时前
CentOS 7安装hyperscan
linux·centos·hyperscan
电星托马斯3 小时前
Linux系统CentOS 6.3安装图文详解
linux·运维·服务器·程序人生·centos