学习日记之shell通配符
2013-10-29 22:00
316 查看
shell通配符大致有如下几种:
(1)'*' :匹配时可以代表一个或多个字符(注意也匹配空字符)
(2)'?':匹配时一个'?'只能代表一个字符,当然可以用多个'?'来匹配多个字符。
(3)'[...]':表示同方括号中的任意一个字符相匹配。这些字符可以用字符范围(比如 1-9)或者离散值或同时使用两者表示。
例如:[a-zBE5-7] 同所有 a 到 z 之间的字符和 B、E、5、6、7 相匹配。
(4){c1,c2}:同 c1 或者 c2 相匹配。其中 c1 和 c2 也是通配符(那么c1、c2不是通配符可不可以啊,下面试试看)。因此,您可以使用 {[0-9]*,[acr]}。
应用举例:首先先建一个文件目录test,再在目录下建几个文件,例如583.bak、346.bak、124.bak。
那我输入 ls *4.bak 会有什么结果呢,哈哈,很简单是不是。
那我输入ls ?4.bak又是什么结果呢?你肯定知道的,是吧。
![](https://img-blog.csdn.net/20131029145206875)
应该知道为什么产生这个结果吧!
看一下(3)(4)两个通配符的使用
![](https://img-blog.csdn.net/20131029215349296)
首先可以验证{}通配符里面不一定非是子通配符,同时也说明,用逗号隔开可以放多于两个的通配符或字符。它是逐个检查是否匹配的。
(1)'*' :匹配时可以代表一个或多个字符(注意也匹配空字符)
(2)'?':匹配时一个'?'只能代表一个字符,当然可以用多个'?'来匹配多个字符。
(3)'[...]':表示同方括号中的任意一个字符相匹配。这些字符可以用字符范围(比如 1-9)或者离散值或同时使用两者表示。
例如:[a-zBE5-7] 同所有 a 到 z 之间的字符和 B、E、5、6、7 相匹配。
(4){c1,c2}:同 c1 或者 c2 相匹配。其中 c1 和 c2 也是通配符(那么c1、c2不是通配符可不可以啊,下面试试看)。因此,您可以使用 {[0-9]*,[acr]}。
应用举例:首先先建一个文件目录test,再在目录下建几个文件,例如583.bak、346.bak、124.bak。
那我输入 ls *4.bak 会有什么结果呢,哈哈,很简单是不是。
那我输入ls ?4.bak又是什么结果呢?你肯定知道的,是吧。
应该知道为什么产生这个结果吧!
看一下(3)(4)两个通配符的使用
首先可以验证{}通配符里面不一定非是子通配符,同时也说明,用逗号隔开可以放多于两个的通配符或字符。它是逐个检查是否匹配的。
相关文章推荐
- Linux学习日记 —— 10.3.4 Shell基础-Bash基本功能-多命令顺序执行与管道符
- SHELL学习日记1
- shell学习日记2
- shell命令中通配符学习
- shell学习笔记 - 历史命令、命令别名与补齐、通配符
- Linux学习日记--基础命令(3)-文件操作,通配符,命令别名
- linux学习入门 (基础部分1~3)【shell 系统结构 路径 通配符 vim 】
- Shell 学习(六、case...esac的使用和通配符)
- ubuntu学习日记--Lesson6:shell,bash,dash
- 2007.3.7--C++学习日记--MFC--用VC调用Shell中的目录浏览对话框
- zhu的学习日记:shell脚本学习一(基础)
- Linux学习日记 —— 10.2 Shell基础-脚本执行方式
- Linux学习日记 —— 10.3.3 Shell基础-Bash基本功能-输入输出重定向
- linux学习第二十三篇:shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向
- shell学习3-名称 通配符 参数展开 引用
- shell学习笔记(一):for循环、if语句、通配符、命令代换、引号
- Linux学习(二十一)Shell基础(一)认识shell、命令历史、命令补全、别名、通配符、管道符与前后台控制
- Linux学习日记 —— 10.5.1 Shell基础-Bash变量-数值运算与运算符
- Linux学习一些在Terminal可以用到的快捷键及Shell常用的通配符
- Shell 学习4(通配符)