欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

shell 通配符 - 海鸥跟着拖网渔船飞行

更新时间: 2015-05-04 00:00:00 责任编辑: Author_N15

 

SHELL 中主要有一下几种通配符:

(1) *  : 代表0 个或多个字符

(2) ?  : 代表一个字符

(3) [...] : 可以理解为一个字符,与?的区别是[] 里面的内容限定了这个字符的范围

(4) !  : 取反,一般和 [] 配合使用

例子:

(1) ls 11 *2 ?3 显示11 开头的接着是若干个字符,最后是2 加一个字符和3 结束的文件

(2) [Cc]hange[Ll]og

将与 Changelog 、ChangeLog 、changeLog 以及 changelog 匹配。在需要大小写匹配的时候,使用括弧通配符很有用。

(3) ls /usr/[0-9]* 将列出 /usr 中以数字开头的所有文件。

(4) ls /tmp/[A-Za-z]* 将列出 /tmp 中以大写字母或小写字母开头的所有文件。

(5) rm myfile[!9] 将删除除myfile9 之外的名为 myfile 加一个字符的所有文件。



最后,附带说一下两个和转义相关的字符:

‘’: 单引号 , 用引号引起来则说明引号里面的是纯字符串无须进行通配符的相关处理

例子:

echo ‘[fo]*’ > newfile.txt 创建了包含字符串[fo]* 的文件。

如果echo [fo]* > newfile.txt 则 newfile.txt 里面不会有任何东西
例子:

如果用户目录下有12* 12333 这么两个文件,那么

rm 12* 会删除12 * 和 12333

rm ‘12 *’ 则只会删除12 *



\  : 功能与单引号类似, 可以用作一些特殊字符的转义字符
例子:

rm 12\ * 则只会删除12 *,这里\ 代表起后面的字符是纯字符没有其他意思,这 \ 与C 语言里面的转义字符类似的。

很自然的,如果要表示字符 \ ,你必须使用 \\ 。


http://blog.csdn.net/yixicanyang/archive/2010/03/17/5389169.aspx
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2015-05-04 00:00:00
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1745128/
本文WWW.DOC100.NET DOC100.NET版权所有。