Linux Shell基础 通配符
Posted lizhouwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Shell基础 通配符相关的知识,希望对你有一定的参考价值。
Shell通配符用法分析
在 Bash 中,如果需要模糊匹配文件名或目录名,就要用到通配符。通过表 1 介绍一下常用的通配符。
举几个例子:
通配符 | 作 用 |
---|---|
? | 匹配一个任意字符 |
* | 匹配 0 个或任意多个任意字符,也就是可以匹配任何内容 |
[] | 匹配中括号中任意一个字符。例如,[abc] 代表一定匹配一个字符,或者是 a,或者是 b,或 者是 c |
[-] | 匹配中括号中任意一个字符,- 代表一个范围。例如,[a-z] 代表匹配一个小写字母 |
[^] | 逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9] 代表匹配一个不是数字的字符 |
举几个例子:
[[email protected] ~]# cd /tmp/
[[email protected] tmp]# rm -rf *
#进入临时目录,删除所有文件
#这个也是通配符,代表当前目录中的所有文件
[[email protected] tmp]# touch abc
[[email protected] tmp]# touch abcd
[[email protected] tmp]# touch 012
[[email protected] tmp]# touch 0abc
#建立几个测试文件
[[email protected] tmp]# ls *
012 0abc abc abed
#"*"代表所有的文件
[[email protected] tmp]# ls ?abc
0abc
#"?"匹配任意一个字符,所以会匹配 0abc,但是不能匹配 abc,因为"?"不能匹配空
[[email protected] tmp]# ls [0-9]* 012 0abc
#匹配任何以数字开头的文件
[[email protected] tmp]# ls [^0-9]* abc abcd
#匹配不以数字开头的文件
以上是关于Linux Shell基础 通配符的主要内容,如果未能解决你的问题,请参考以下文章