• expr的简单应用


    expr命令
    是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。
    –格式为:
    expr expression_r(命令读入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 : ‘.*’
      8
    在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名。
    $expr $VALUE : ‘(.*).doc’
    accounts
  • 相关阅读:
    Basic GC Tuning
    程序员如何少走弯路,更好的提升技术。
    WPF 多线程
    IOC
    一句话概括WPF知识点
    WPF数据绑定 Binding
    WPF命令
    WPF依赖属性
    WPF路由事件
    WPF绘图和动画
  • 原文地址:https://www.cnblogs.com/fjping0606/p/4573532.html
Copyright © 2020-2023  润新知