• 主页
  • 归档
  • 分类
  • 照片墙
所有文章 友情链接 关于我

  • 主页
  • 归档
  • 分类
  • 照片墙
  1. 1. ? 字符
  2. 2. * 字符
  3. 3. […] 模式
  4. 4. [^…]和[!…]
  5. 5. {…}模式
  6. 6. {start..end} 模式

bash通配符

2018-09-26 15:08:08
总字数 530
预计阅读时间 2 分钟

bash当中的通配符可以看做是原始的正则表达式
不如之后出现的正则表达式功能强大, 规则相对简单一些
可以在命令行或者shell编程当中使用

? 字符

代表任意的单个字符
比如

1
ls a?.txt

也就是筛选文件名是两个字符, 扩展名是txt, 且第一个字符为a的

* 字符

代表任意数量的任意字符
比如

1
ls a*.txt

也就是筛选文件名第一个字符为a的, 扩展名是txt的文件

[…] 模式

匹配方括号当中的任意 一个字符
或者一个连续的范围当中的 一个字符

1
2
3
4
5
6
# 匹配文件 ab.txt ac.txt
ls a[bc].txt
# 注意是 一个字符 , 所以abc.txt并不匹配

# 匹配文件 ab.txt ac.txt ad.txt
ls a[b-d].txt

连续范围根据字符编码确定

[^…]和[!…]

表示匹配不在方括号当中的 一个字符

1
2
# 匹配文件 ac.txt ad.txt等
ls a[^b].txt

也可以使用连续的范围, 方式同上

{…}模式

可以匹配大括号当中所有的模式, 模式之间用逗号分隔

1
ls a{a,b,c,d,ee}.txt

shell通配符{}
可以看到是匹配所有的模式, 而不是其中任意一个
使用ls会提示无法找到该文件
而使用echo会直接输出这些模式的匹配结果
shell通配符{}

1
2
3
# 大括号可以进行嵌套
echo {j{p,pe}g,png}
# jpg jpeg png

{…}与[…]有一个很重要的区别。如果匹配的文件不存在,[…]会失去模式的功能,变成一个单纯的字符串,而{…}依然可以展开。

1
2
3
4
5
6
7
# 不存在 a.txt 和 b.txt
ls [ab].txt
# ls: [ab].txt: No such file or directory

ls {a,b}.txt
# ls: a.txt: No such file or directory
# ls: b.txt: No such file or directory

{start..end} 模式

匹配连续范围的所有情况 ( 注意中间是两个点 )
比如

1
2
3
4
5
6
# 匹配a.txt b.txt c.txt
ls {a..c}.txt

# 对于整数有特殊处理
echo {10..20}
# 输出从10到20的所有整数
  • linux
  • shell
  • linux

扫一扫,分享到微信

消息中间件(1)-初见
动态规划(2) 
© 2024 夏夜梦星辰
鲁ICP备19028444号
Power By Hexo
  • 所有文章
  • 友情链接
  • 关于我
{{searchItem.query}}
标签: 分类:
  • maven
  • 持续集成
  • JMS
  • 线程
  • JavaScript
  • ECMAScript6
  • 单元测试
  • Promise
  • Web Worker
  • 函数
  • prototype
  • 模块化
  • 正则表达式
  • 数据库
  • MongoDB
  • 索引
  • 集群
  • 全文检索
  • flutter
  • dart
  • git
  • 版本控制
  • linux
  • shell
  • docker
  • nginx
  • jenkins
  • opencv
  • vim
  • react
  • react native
  • 前端
  • css
  • HTML5
  • Hexo
  • sass
  • Three.js
  • TypeScript
  • Vue
  • 组件化
  • base64
  • webpack
  • nodejs
  • gulp
  • TensorFlow
  • 机器学习
  • 算法
  • 动态规划
  • 数据结构
  • Java
  • JavaScript
  • MongoDB
  • flutter
  • Git
  • linux
  • react
  • 前端杂烩
  • 男生女生
  • 算法
  • 十年饮冰,难凉热血
  • †少女癌†
  • 猫与向日葵
  • coderfun
  • JENKINS
  • API管理后台
愿你最终能接纳每一面每一种的自己
独自活着便是团圆