expr

计算表达式,计算表达式并将结果写入标准输出。

语法

  expr expression
  expr option

选项:

--help      显示帮助并退出
--version   输出版本信息并退出

表达式:

  ARG1 | ARG2               或
  ARG1 & ARG2               且 
  ARG1 < ARG2               <
  ARG1 <= ARG2              <=
  ARG1 = ARG2               =
  ARG1 != ARG2              !=
  ARG1 >= ARG2              >=
  ARG1 > ARG2               >
  ARG1 + ARG2               +
  ARG1 - ARG2               -
  ARG1 * ARG2               * 
  ARG1 / ARG2               / 
  ARG1 % ARG2               余 
  STRING : REGEXP           在字符串中匹配正则表达式
  match STRING REGEXP       同 STRING : REGEXP 
  substr STRING POS LENGTH  substr,POS 从 1开始计数 
  index STRING CHARS        字符串中的字符索引 
  length STRING             字符串长度

实例

部分匹配将返回匹配的字符数

$ expr ss64 : ss6
3

字符串2中的条件必须完全匹配字符串1

$ expr ss64 : ss7
0

数字

$ expr 5 + 2
7

乘以*时必须被转义

$ expr 5 \* 3
15

递增变量(算术扩展)

$ DEMO=1
$ DEMO=`expr $DEMO + 1`
$ echo $DEMO
2
$ DEMO=`expr $DEMO + 1`
$ echo $DEMO
3

打印存储在 $FNAME,中的文件名的非目录部分, 不需要包含 a/’.

$ expr $FNAME : '.*/\(^.*\)' '^|' $FNAME

$ expr abc : 'a\(.\)c'
b

$ expr index abcdef cz
3

$ expr index index a
expr: syntax error

$ expr index quote index a
0

expr 命令实例:

linux命令:expr 5 \* 3 3 \* 5 expr expr 5 \* 3rootopen.com
linux命令:expr 5 \* 3 3 \* 5 expr expr 5 \* 3rootopen.com
2018-11-17 15:44:15

linux命令:expr 5 + 2 2 + 5 expr expr 5 + 2rootopen.com
linux命令:expr 5 + 2 2 + 5 expr expr 5 + 2rootopen.com
2018-11-17 15:43:52

linux命令:expr rootopen.com : rootopen rootopen : rootopen.com expr expr rootopen.com : rootopenrootopen.com
linux命令:expr rootopen.com : rootopen rootopen : rootopen.com expr expr rootopen.com : rootopenrootopen.com
2018-11-17 15:43:34

linux命令:expr rootopen.com : rootopen rootopen : rootopen.com expr expr rootopen.com : rootopenrootopen.com
linux命令:expr rootopen.com : rootopen rootopen : rootopen.com expr expr rootopen.com : rootopenrootopen.com
2018-11-17 15:41:53

linux命令:expr 20 + 30 30 + 20 expr expr 20 + 30rootopen.com
linux命令:expr 20 + 30 30 + 20 expr expr 20 + 30rootopen.com
2018-09-11 09:55:30

linux命令:expr $(fdisk -s ` grep ' / ' /etc/mtab |cut -d " " -f1`) / 1024 1024 / -f1`) " " -d |cut /etc/mtab ' / ' grep ` -s $(fdisk expr expr $(fdisk -s ` grep ' / ' /etc/mtab |cut -d " " -f1`) / 1024rootopen.com
linux命令:expr $(fdisk -s ` grep ' / ' /etc/mtab |cut -d " " -f1`) / 1024 1024 / -f1`) " " -d |cut /etc/mtab ' / ' grep ` -s $(fdisk expr expr $(fdisk -s ` grep ' / ' /etc/mtab |cut -d " " -f1`) / 1024rootopen.com
2018-04-09 08:41:48

linux命令:expr 512 \* 7 7 \* 512 expr expr 512 \* 7rootopen.com
linux命令:expr 512 \* 7 7 \* 512 expr expr 512 \* 7rootopen.com
2018-02-02 03:16:48

linux命令:expr `find . -type f -printf "%s + "0` "0` + "%s -printf f -type . `find expr expr `find . -type f -printf "%s + "0`rootopen.com
linux命令:expr `find . -type f -printf "%s + "0` "0` + "%s -printf f -type . `find expr expr `find . -type f -printf "%s + "0`rootopen.com
2018-05-06 19:57:48

linux命令:expr `echo "123671" | sed -e 's/[0-9]/ + &/g' -e 's/^ +//g'` 20 20 +//g'` 's/^ -e &/g' + 's/[0-9]/ -e sed | "123671" `echo expr expr `echo "123671" | sed -e 's/[0-9]/ + &/g' -e 's/^ +//g'` 20rootopen.com
linux命令:expr `echo "123671" | sed -e 's/[0-9]/ + &/g' -e 's/^ +//g'` 20 20 +//g'` 's/^ -e &/g' + 's/[0-9]/ -e sed | "123671" `echo expr expr `echo "123671" | sed -e 's/[0-9]/ + &/g' -e 's/^ +//g'` 20rootopen.com
2018-03-28 08:18:48

Linux的Bash命令行(A-Z排序)