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

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

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

1296490-20180207204620091-147079282.png

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

  • “?”和“*”

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

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

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

在桌面建立如下10个文件
1296490-20180207204650310-558226273.png

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

分别为查询以t开头的文件、以t开头的log文件、以test开头最后一个字符不明的txt文件,结果如下:
1296490-20180207204708248-696294642.png

  • “[ ]”表示一个范围

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

查找以test开头,第五个字符是1-3中任意一个的txt文件
1296490-20180207204724482-903925590.png

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

前者可以找到5个文件,而后找不到
1296490-20180207204735998-1412073076.png

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

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

  • “!”或“^”表示非

    例如,[!abcd] 或[^abcd]表示非,表示不匹配括号里面的任何一个字符,例如
    1296490-20180207204745873-263117948.png
注意事项
  1. 经测验,在实验楼中,“!”无效,“^”可使用
  2. “!”和“^”只能在[ ]中使用
  3. 凡是使用[ ]的,文件名必须包含扩展名,若要检索全部类型的文件,可用 * 表示扩展名;而仅使用“?”、“*”的可不写扩展名
  • "{..}"表示生产一个序列

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

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

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

参考:

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

转载于:https://www.cnblogs.com/zicerain/p/8428399.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值