zoukankan      html  css  js  c++  java
  • Linux之expr命令详解

    expr命令:
        expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。
      –格式为:
        expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)
      –参数应用规则:
        用空格隔开每个项;
        用 (反斜杠) 放在 shell 特定的字符前面;
        对包含空格和其他特殊字符的字符串要用引号括起来
      


    –expr用法实例讲解:

        expr命令一般用于整数值,但也可用于字符串
      一般格式为:
        #expr argument operator argument
        expr也是一个手工命令行计数器:
        >#expr 10 + 10
        >20

      

        注意:运算符号两边都有空格
        使用乘法计算时,要使用斜线将*进行转义,否则shell解释器会解析*特殊符号的
        >expr 20 * 2
        >40

      



    增量计数
      expr在循环中用于增量计算。首先,循环初始化为0,然后循环值加1,反引号的用法意
      即替代命令。最基本的一种是从(expr)命令接受输出并将之放入循环变量。
      $a=0
      b=`expr $a + 1`

      

    数值测试
      可以用expr测试一个数。如果试图计算非整数,将返回错误。
      非整数:

      # rr=1.1
      # expr $rr + 1
      expr: non-integer argument

      整数:
      # bb=1
      # expr $bb + 1
      2

      
    模式匹配
      expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次
      # value=linux.do
      # expr $value : '.*'
      8

      

    数组
      $varname[0]=value1
      $varname[1]=value2
      ....
      来定义用
      $echo ${varname[0]}
      方式来引用  
      ### 字串长度   
      shell>> expr length "this is a test"
      14   
      ### 数字商数   
      shell>> expr 14 % 9
      5   

      

      ### 从位置处抓取字串
      shell>> expr substr $value 2 3 
      inu

      

      ### 数字串 only the first character
      shell>> expr index $value u
      4

      

      ### 字串真实重现
      shell>> expr $value 
      linux.do

      

    注:本文中所有的$value都是在环境中预先定义的变量“value=linux.do”


    为了便于交流,大家可以进群交流,分享经验,共同进步!

  • 相关阅读:
    Python--json处理
    Python--加密模块
    Python--函数即变量
    bzoj 2276: [Poi2011]Temperature
    1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛
    2017 9 15 noip模拟赛
    bzoj 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
    2017 9 11 noip模拟赛T2
    URAL 1613. For Fans of Statistics (2017 9 6 noip模拟赛T3)
    codeforces 105 B. Dark Assembly(birbe贿赂 noip模拟赛)
  • 原文地址:https://www.cnblogs.com/hui-shao/p/expr.html
Copyright © 2011-2022 走看看