expr的字符串操作 表达式: length, index, match, substr等

参考: http://www.linuxidc.com/Linux/2012-04/58095.htm

expr的格式, 主要有两个,

一是 用expr option, 选项;

二是, expr的几个主要主要表达式: length, 查找index, 截取子串: substr, 冒号。

求字符串的长度, 可以使用 ${#string}expr length "$string"

求字符串中的字串索引, 即字串查找:使用命令index

注意, 使用 expr的index substr 和match等 表达式时, 字符索引是从1 开始的, 而 expr ${$str:0:4} 等则是从0开始索引的

关于expr match表达式

  1. 返回的是 匹配到的字串的长度, 不是该字符串本身
  2. 要想匹配成功字串, 这个字串必须是从头开始的, 子串从字符串首部开始才会匹配成功.
  3. 如果不使用match要想匹配字串, 必须加冒号, 注意这个冒号是放在 字符串的外面的.
  4. 如果冒号放在字符串的里面, 则是对字符串进行字串 截取: echo ${str:position} 或 echo ${str:position:length}
    注意用冒号来进行字符串截取的, 不再是expr的表达式, 所以不能使用expr, 而是直接用echo命令就好了.

双引号不会影响 即使是数学运算表达式中的 数学运算.

posted @ 2017-05-31 15:27  noitanym  阅读(6695)  评论(0编辑  收藏  举报