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 【综上:通过以上实验,我们可以看到在通配符中相反的含义\[\^\]或\[!\]两者实现的效果是等价的】

相关推荐
江公望1 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦1 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
张小姐的猫2 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
YuanDaima20482 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
lolo大魔王4 小时前
Linux 数据文件处理实战:排序、搜索、压缩、归档一站式详解
linux·运维·服务器
starvapour4 小时前
Ubuntu切换到Fcitx5中文输入法
linux·运维·ubuntu
lolo大魔王5 小时前
Linux的监测程序
linux·运维·github
.YYY5 小时前
RHCE--Linux循环执行的例行性任务:crontab从入门到精通
linux·运维·服务器
木欣欣粉皮5 小时前
解决Ubuntu 26.04的挂起状态唤醒问题
linux·运维·ubuntu
ambition202425 小时前
UNIX消息队列:从理论模型到工程实现的演进
linux·服务器·unix