shell 通配符

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值