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

相关推荐
草莓熊Lotso4 小时前
Linux 文件描述符与重定向实战:从原理到 minishell 实现
android·linux·运维·服务器·数据库·c++·人工智能
历程里程碑4 小时前
Linux22 文件系统
linux·运维·c语言·开发语言·数据结构·c++·算法
wdfk_prog12 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
盟接之桥13 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿13 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘13 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy64814 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满14 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠14 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio14 小时前
rk芯片驱动编写
linux·学习