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

相关推荐
2401_868534785 小时前
分析RTOS与Linux有什么区别
linux·运维·服务器
玛丽莲茼蒿5 小时前
Linux/Unix学习笔记(四)—— 进程管理
linux·学习·unix
Peace6 小时前
【Nginx】
linux·运维·nginx
网络与设备以及操作系统学习使用者6 小时前
Linux与Windows核心差异深度解析
linux·运维·网络·windows·学习
筠筠喵呜喵7 小时前
Linux CPU性能优化:D状态和Z状态排查与处理
linux·服务器·性能优化
张小姐的猫9 小时前
【Linux】多线程 —— 线程同步 | 生产者消费者模型 | POSIX 信号量
linux·运维·服务器
Harm灬小海11 小时前
【云计算学习之路】学习Centos7系统-Linux下用户及组管理
linux·运维·服务器·学习·云计算
扛枪的书生11 小时前
HAProxy 学习总结
linux
日取其半万世不竭11 小时前
Linux 云服务器磁盘扩容:从分区到文件系统的完整流程
java·linux·服务器
byxdaz12 小时前
Linux 系统中常用的日志查看命令
linux·运维