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!ogs

lmgs

apps@test-001 \~$ ls l\^ogs

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

【综上:通过以上实验,我们可以看到在通配符中相反的含义\^或!两者实现的效果是等价的】

相关推荐
Python自动化直播5 分钟前
自动化笔记:素材管理、命名、轮换的几条土办法
linux·运维·数据库
FlightYe27 分钟前
音视频修炼之容器与协议(一):MP4和MOV的box剖析
android·linux·c++·ffmpeg·音视频
暴雨课堂44 分钟前
tp5 tp6被攻击篡改后恢复
linux·服务器·php
djjjx.1 小时前
Linux进程篇(四):内核托底与生死交错 ,深度硬核剖析“僵尸”与“孤儿”进程
linux·运维·服务器
为思念酝酿的痛1 小时前
Reactor反应堆模式
linux·服务器·网络
沫璃染墨1 小时前
从零入门计算机网络系列(六):TCP套接字编程实战——从listen监听到客户端与服务器通信
linux·服务器·c++·tcp/ip·计算机网络·tcp
2401_872418781 小时前
把 Ubuntu 服务器变成 AI Agent 终端:用自然语言或语音管理 Linux,任何命令都先审批(附完整 Python 源码)
linux·服务器·ubuntu·agent
coderSong25682 小时前
【Ubuntu】ctrl+shift+f 繁体中文切换、VScode全集搜索
linux·vscode·ubuntu
AR-26710-2 小时前
Linux Day22——复习第三部分
linux·运维
迪康coolmu2 小时前
基于迪康端点安全一体化管理系统的公用终端上机与信创补丁实战
linux·运维·服务器·网络·安全·电脑