linux 文件名通配符“?“、“*“、“[]“、“[!]“

news/2025/2/1 4:06:33/

当在使用命令行时,有很多时间都用来查找你所需要的文件,如ls find等。Shell提供了一套完整的字符串模式匹配规则,或者称之为元字符,当Shell遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名,我理解这可以称为通配符。

      通配符与正则表达式是有区别的,简单来说:通配符是用来通配的,正则表达式是用来匹配字符串的;

在文本过滤工具里,都是用正则表达式,比如像awk,sed,grep等,是针对文件的内容的。

而通配符多用在文件名上,比如查找find,ls,cp,等等。

其次,shell对通配符与正则表达式的处理也有不同,“ ”内一般为通配符(是shell本身提取处理),‘ ’内一般为正则表达式(shell会将其中的数据传递给其它命令处理)。

1、“*”代表任意多个字符

例:查询以“.log”结尾的文件

11*.log

2、“?”代表单个字符,连续使用多个元字符“?”可以表示多个任意字符

例:

1.使用a?表示以a开头且有两个字符的文件名

#ls -l a?

2.查看当前目录下由字母a和任意两个字符组成的文件名

#ls -l a??

3.查看当前目录下所有第3个字符是c的文件

#ls -l ??c*

3、“[ ]"代表“[”和“]”之间的某一个字符,比如[0-9]可以代表0-9之间的任意一个数字,[a-zA-Z]可以代表a-z和A-Z之间的任意一个字母,字母区分大小写。

例:

1.如果范围匹配符中出现的是几个字符的组合,表示匹配其中的任何一个字符。

例如要在当前目录中查看以字母klsyz中的任意一个开头的所有文件

#ls -l [klsyz]*


2.使用多个通配符可以进行更加复杂的匹配查找。

例如要在当前目录中查看以字母a开头且倒数第2个字符为字母cde中任意一个的所有文件

#ls -l a*[cde]?


3.使用符号“-”可以匹配一个字母或数字范围。

例如要在当前目录下查看文件名中含有数字的所有文件

#ls -l *[0-9]*

上面的命令中[0-9]表示匹配0到9之间的任意数字


4.要查看当前目录下文件名由两个字符组成且第2个字符是字母的所有文件

[a-Z]表示所有小写字母、大写字母

#ls -l ?[a-Z]


[a-Z]表示所有字母,也可以使用[a-zA-Z]表示所有字母
 

4、[!]和[^]表示匹配结果取反的意思,注意这个通配符必须要在[]中使用

例:

1.要查看当前目录下文件名只有两个字符并以数字开头且第2个字符不是数字的所有文件

#ls -l [0-9][!0-9]


2.要查看当前目录下文件名只有两个字符且两个字符都不是字母的所有文件

#ls -l [!a-Z][!a-Z]

在上面的命令中[!a-Z]表示排除小写字母a-z和大写字母A-Z,即排除所有字母

3.查询不是以“.txt”结尾的文件

ll *[^txt]*


http://www.ppmy.cn/news/771294.html

相关文章

为什么要做线上直播发布会

新冠肺炎疫情的影响,对多数线下获客的企业来说,无疑是致命打击。但在此次危机下,也带来了新的契机。直播业务迅速发展,教育直播成为许多学校和机构的新宠,而企业直播也获得了许多品牌主的青睐。 线上/直播发布会 现阶段…

鸿蒙发布会重播,华为鸿蒙发布会2021现场直播在线观看/回放入口

华为鸿蒙发布会2021现场直播在线观看/回放入口 wxin 发布 时间:2021-06-02 15:11 6月2日,鸿蒙操作系统及华为全场景新品即将发布!终于等到啦!直播几点开始?在哪看直播?直播平台以及视频回放信息。华为鸿蒙操作系统发布…

redmi note 10 发布会直播地址 redmi note 10 发布会在线观看入口

红米Note10发布会直播地址 :http://www.mi.com/index.html Note10系列将采用了一块全新的旗舰LCD 屏幕:120Hz 电竞级高刷屏、240Hz高触控、6 挡变速, 支持阳光屏、夜光屏,更重要的是还支持全场景护眼体验。 Redmi Note10系列这次…

怎么做新闻发布会直播,媒体直播平台有哪些?

传统的发布会会邀请媒体去现场,会后媒体会第一时间在对应的媒体平台进行新闻的发布,如今,发布会直播已经成为常态,观众在发布会举办的同时,就可以在线上第一时间获取发布会的信息,更加及时有效,…

虚拟直播硬核开启线上发布会未来可能性,XR直播技术加速品牌破圈

近日,在Libresse薇尔上市三周年之际,以“敢动卓越”为题进行线上虚拟直播,在突破时空限制的同时,又安全高效、灵活多变。通过电脑AR合成技术,在摄像机拍摄绿幕画面的基础上,将虚实多机位动态运镜技术、沉浸…

虚拟数字人直播+沉浸式虚拟场景,红魔虚拟线上发布会重磅来袭

近日,红魔召开了主题为“满级魔王,稳帧制胜”红魔7S系列暨游戏新装备发布会。本场线上发布会,采用了多种虚拟技术手段,打造了科技感十足的虚拟场景,同时提取了新产品的核心功能,通过明亮清透,细…

Android Retrofit 源码解析

在 Android 开发中,Retrofit 是一个非常流行的网络请求库。它是由 Square 开发的,用于简化 Android 应用程序与网络服务器之间的通信。 Retrofit 主要用于处理 RESTful API 的网络请求。它通过将 HTTP 请求与 Java 接口方法进行映射,使得网络…

Unity与iOS交互(1)——需要了解的IOS相关知识

【前言】 以下只是简要介绍,详细的内容需要自己去看链接 【Objective-C基础知识】 .h .m .mm .cpp文件区别 .h是头文件扩展名。头文件包含类,类型,函数和常数的声明,这里的定义一般是Public的 .m是实现文件扩展名。其包含源代…