LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 944|回复: 4

请教下,SHELL中如何来表示区间操作

[复制链接]
发表于 2009-5-11 09:59:40 | 显示全部楼层 |阅读模式
请教下,shell下是否支持区间操作,如,我想匹配
  1. case $1 in
  2.    [99...111] ) echo "nop";;                  
  3.         [0..24] ) echo "nop";;
  4.            [c..x] ) echo "nop";;
  5.                *)  echo ":)";;
  6. esac
复制代码

其中
[99...111]  是从99到110,不包括111
[0..24]       是0到24,包括24
[c..x]          是c到x,包括x

注明:仅仅在在case的pattern中使用
发表于 2009-5-11 11:00:24 | 显示全部楼层
[99-110] 是从99到110
[0-24] 是0到24,包括24
[c-x] 是c到x,包括x
看看正则表达式
回复 支持 反对

使用道具 举报

发表于 2009-5-11 21:00:35 | 显示全部楼层

你说的是什么?

我认为你说的只有[c-x]是对的,其它全是错的!
回复 支持 反对

使用道具 举报

发表于 2009-5-20 16:41:30 | 显示全部楼层
[n1-n2] #匹配整数n1-n2区间内一个整数
  [a-z]         #匹配小写字母a-z内一个字符
  [1-99a-zA-Z]    #匹配整数1-99和小写字母a-z和大写字母A-Z内一个字符

参考regular rule~!
回复 支持 反对

使用道具 举报

发表于 2009-5-20 19:10:56 | 显示全部楼层
嗯……两位说的可能是对的。

对,case里的匹配不是平时的正规表达式。

给几个例子吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表