expr命令的英文全称是“expression”,即是表达式的意思,作用是一个命令行的计数器,常用于在UNIX/LINUX系统中求表达式变量的值,一般用于整数值,也可用于字符串。
语法格式:expr [表达式]
常用参数:
空格 | 隔开每个项 |
\(反斜杠) | 放在 shell 特定的字符前面 |
“”(引号) | 对包含空格和其他特殊字符的字符串要用引号括起来 |
参考实例
计算字串长度:
[root@1024ask.com ~]# expr length “this is a test”
14
抓取字串:
[root@1024ask.com ~]# expr substr “this is a test” 3 5
is is
抓取第一个字符数字串出现的位置:
[root@1024ask.com ~]# expr index "sarasara" a
2
整数运算:
[root@1024ask.com ~]# expr 14 % 9
5
[root@1024ask.com ~]# expr 10 + 10
20
[root@1024ask.com ~]# expr 1000 + 900
1900
[root@1024ask.com ~]# expr 30 / 3 / 2
5
[root@1024ask.com ~]# expr 30 * 3
expr: Syntax error
[root@1024ask.com ~]# expr 30 /* 3
90
注意:使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义
使用expr进行四则运算:
[root@1024ask.com ~]# expr \( 10 + 10 \) \* 2 + 100
140
与该功能相关的Linux命令:fold命令 – 限制文件列宽colrm命令 – 过滤指定列rgrep命令 – 查找文件里符合条件的字符串let命令 – 执行一个或多个表达式echo命令 – 输出字符串或提取Shell变量的值nano命令 – 字符终端文本编辑器jed命令 – 编辑文本文件sed命令 – 处理编辑文本文件gawk命令 – 模式扫描与处理语言tac命令 – 反向列示文件内容