Chinaunix首页 | 论坛 | 博客
  • 博客访问: 466464
  • 博文数量: 93
  • 博客积分: 5006
  • 博客等级: 上校
  • 技术积分: 1002
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-30 13:58
文章分类

全部博文(93)

文章存档

2012年(2)

2011年(68)

2010年(23)

分类: Python/Ruby

2011-09-12 19:44:04

expr命令

是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。

–格式为:
expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)

–参数应用规则:
用空格隔开每个项;
用 \ (反斜杠) 放在 shell 特定的字符前面;
对包含空格和其他特殊字符的字符串要用引号括起来

match String1 String2 Expression1 : Expression2 相同。
length String1 返回 String1 的长度。
index String1 String2 返回 String1 中包含 String2 中任意字符的第一个位置。
substr String1 StartPosition Length
                          返回一个以 StartPosition 的字符开始的在 String1 中的字符串,并且是 Length 长度的字符串。
expr运算符

e1 | e2 或

e1 & e2 与

e1 = e2 等于

e1 != e2 不等于

e1 < e2 小于

e1 <= e2 小于或等于

e1 > e2 大于

e1 >= e2 大于或等于

e1 + e2  加

e1 - e2  减

e1 * e2 相乘

e1 / e2 e1除以e2后的整数结果(截断)

e1 % e2 e1除以e2后的余数

e1 : e2 e1与e2的BRE匹配

integer 一个只包含数字的数目,允许前置负号,却不支持一元的正号

string 字符串值,不允许被误用为数字或运算符


expr用法实例讲解:
  计算字串长度
  expr length “this is a test”
  14
  抓取字串
  expr substr “this is a test” 3 5
  is is
  抓取第一个字符数字串出现的位置
  expr index “sarasara”  a
  2
  字串真实重现
  expr quote sara
  sara
  整数运算
  expr 14 % 9
  5
  expr 10 + 10
  20
  expr 1000 + 900
  1900
  expr 30 / 3 / 2
  5
  expr 30 \* 3 (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解  显示星号的意义)
  90
 expr 30 * 3
 expr: Syntax error

 增量计数
 说明:expr在循环中用于增量计算。先将变量初始化为0,然后循环值加1,反引号的用法为命令替代。
  LOOP=0
  LOOP=`expr $LOOP + 1`
  数值测试
  说明:用expr测试一个数。如果试图计算非整数,则会返回错误。
  rr=3.4
  expr $rr + 1
  expr: non-numeric argument
  rr=5
  expr $rr + 1
  6
  模式匹配
说明:expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。
  VALUE=account.doc
  expr $VALUE : &quo;.*’
  8
在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名。
$expr $VALUE : ‘\(.*\).doc’
accounts


阅读(2622) | 评论(0) | 转发(0) |
0

上一篇:海量数据处理算法设计

下一篇:tr命令

给主人留下些什么吧!~~