通配符的使用方法(初学)

Posted zicerain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通配符的使用方法(初学)相关的知识,希望对你有一定的参考价值。

通配符的使用方法(部分)

在实验楼的Linux 基础入门(新版)实验2:基本概念及操作中,有介绍集中通配符如下:

技术分享图片

但是部分不是很好理解,以下是我通过查资料、实验整理的部分用法

  • “?”和“*”

通配符 用法
匹配任意一个字符
* 匹配0或多个字符

?和*的用法较为简单,举例说明

  1. 在终端中输入
cd Desktop
touch test{1..5}.txt
touch test{1..5}.log
ls

在桌面建立如下10个文件
技术分享图片

  1. 输入
find t*
find t*.log
find test?.txt

分别为查询以t开头的文件、以t开头的log文件、以test开头最后一个字符不明的txt文件,结果如下:
技术分享图片

  • “[ ]”表示一个范围

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

查找以test开头,第五个字符是1-3中任意一个的txt文件
技术分享图片

ls t[a-f]st?.log
ls t[f-z]st?.log

前者可以找到5个文件,而后找不到
技术分享图片

t[a-f]st?.log
t[abcdef]st?.log

另外,以上这两行的代码的意思是相同的。

  • “!”或“^”表示非

    例如,[!abcd] 或[^abcd]表示非,表示不匹配括号里面的任何一个字符,例如
    技术分享图片

注意事项

  1. 经测验,在实验楼中,“!”无效,“^”可使用
  2. “!”和“^”只能在[ ]中使用
  3. 凡是使用[ ]的,文件名必须包含扩展名,若要检索全部类型的文件,可用 * 表示扩展名;而仅使用“?”、“*”的可不写扩展名
  • "{..}"表示生产一个序列

touch test{1-5}.txt
touch test{1,2,3,4,5}.txt
//以逗号分隔,且不能有空格

以上两行代码意思相同。具体例子开头创建文件时已有,不再赘述

[]与{}区别:
[ ]只能用来找文件;
{ }可以用来找文件,或创造文件,生成序列
——陈思齐-Linux通配符的使用

参考:

Linux 通配符 - pursuer.chen - 博客园
陈思齐-Linux通配符的使用










以上是关于通配符的使用方法(初学)的主要内容,如果未能解决你的问题,请参考以下文章

生成线上用https证书,支持通配符和多域名,初学Let’s Encrypt用于IIS,纯本地手动

PHP必用代码片段

初学者 CodeIgniter 概念 - 可重用的视图代码,该去哪里? (帮手?)

初学scala4——trait混入

初学者的简单vlookup [重复]

初学LINUX,一些自己的小分享