首页 > 系统相关 >Linux系统之expr命令的基本使用

Linux系统之expr命令的基本使用

时间:2023-09-05 12:32:05浏览次数:29  
标签:STRING expr ARG2 Linux 命令 ARG1 docker root

(Linux系统之expr命令的基本使用)

一、expr命令介绍

expr是一个用于数学表达式计算工具命令行工具,它可以对整数、小数和字符串进行算术操作、逻辑运算、比较操作和字符串操作等。

二、expr的命令帮助

1. expr的help帮助信息

expr的help帮助信息

[root@docker ~]# expr --help
Usage: expr EXPRESSION
  or:  expr OPTION

      --help     display this help and exit
      --version  output version information and exit

Print the value of EXPRESSION to standard output.  A blank line below
separates increasing precedence groups.  EXPRESSION may be:

  ARG1 | ARG2       ARG1 if it is neither null nor 0, otherwise ARG2

  ARG1 & ARG2       ARG1 if neither argument is null or 0, otherwise 0

  ARG1 < ARG2       ARG1 is less than ARG2
  ARG1 <= ARG2      ARG1 is less than or equal to ARG2
  ARG1 = ARG2       ARG1 is equal to ARG2
  ARG1 != ARG2      ARG1 is unequal to ARG2
  ARG1 >= ARG2      ARG1 is greater than or equal to ARG2
  ARG1 > ARG2       ARG1 is greater than ARG2

  ARG1 + ARG2       arithmetic sum of ARG1 and ARG2
  ARG1 - ARG2       arithmetic difference of ARG1 and ARG2

  ARG1 * ARG2       arithmetic product of ARG1 and ARG2
  ARG1 / ARG2       arithmetic quotient of ARG1 divided by ARG2
  ARG1 % ARG2       arithmetic remainder of ARG1 divided by ARG2

  STRING : REGEXP   anchored pattern match of REGEXP in STRING

  match STRING REGEXP        same as STRING : REGEXP
  substr STRING POS LENGTH   substring of STRING, POS counted from 1
  index STRING CHARS         index in STRING where any CHARS is found, or 0
  length STRING              length of STRING
  + TOKEN                    interpret TOKEN as a string, even if it is a
                               keyword like 'match' or an operator like '/'

  ( EXPRESSION )             value of EXPRESSION

Beware that many operators need to be escaped or quoted for shells.
Comparisons are arithmetic if both ARGs are numbers, else lexicographical.
Pattern matches return the string matched between \( and \) or null; if
\( and \) are not used, they return the number of characters matched or 0.

Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null
or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'expr invocation'

2. expr的常用运算符

expr的常用运算符

expr的常用运算符:

加法运算:+
减法运算:-
乘法运算:\*
除法运算:/
取模(取余)运算:%

三、expr命令的基本使用

1. 查询expr工具版本

查询expr工具版本

[root@docker ~]# expr --version
expr (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Parker, James Youngman, and Paul Eggert.

2. 算术运算

可以使用加、减、乘、除、模运算符进行基本的算术运算

  • 加法运算
[root@docker ~]# expr 8 + 9
17

  • 减法运算
[root@docker ~]# expr 8 -  9
-1

  • 乘法运算
[root@docker ~]# expr 8  \*  9
72

  • 除法运算
[root@docker ~]# expr 12  /  6
2
  • 取余运算
[root@docker ~]# expr 13  %  6
1

3. 比较操作

使用expr进行比较操作,判断正确输出0,判断错误输出为1

[root@docker ~]# expr 13 \<  20
1
[root@docker ~]# expr 25 \<  20
0

4. 字符串操作

可以使用字符串操作符对字符串进行操作,其中,:“:”表示正则匹配,正则表达式中,“.”表示任意字符,“*”表示匹配任意次数。 需要注意的是,在expr中,各种操作符与数字或字符串之间必须用空格隔开。而且expr对于特殊字符,需要进行转义处理(如上述例子中的“\”符号)。

[root@docker ~]# expr "hello" : 'he'
2
[root@docker ~]# expr "hello" : '.*'
5

标签:STRING,expr,ARG2,Linux,命令,ARG1,docker,root
From: https://blog.51cto.com/u_14664141/7370773

相关文章

  • Linux文件查看和处理命令
    文件查看和处理命令touch:创建空文件和修改文件时间戳touch改变文件的atime和mtime(ctime会随之改变)-a改变atime-m改变mtimestat:查看文件的属性及元数据cat:显示文件的内容,适合看小文件n显示行号catm1m2>file(将文件m1和m2合并后放入文件file中)>输出重定向>覆盖之前文件内容......
  • Ansible 常用的命令
    以下是Ansible常用的50条命令:ansible--version:查看Ansible版本信息。ansibleall-mping:检查所有主机的连通性。ansible-playbookplaybook.yml:运行指定的AnsiblePlaybook文件。ansible-docmodule_name:查看指定模块的帮助文档。ansible-configview:查看当前......
  • 解决命令行提示“cannot create temp file for here-document: No space left on devi
    问题如题,出现“cannotcreatetempfileforhere-document:Nospaceleftondevice”,且部分应用出现故障,比如重启后Docker容器无法启动先使用df-h检查磁盘使用率,显示使用率50%还不到继续排查,使用lsof|grepdeleted 或lsof-w|grepdeleted检查是否存在未释放的已......
  • 布暑中常用的启动命令
    1.首先,我们布暑时应该选择哪个jdk版本,那么先写个这样的文件,使用/ect/profile设置环境变量,示例如下:if[-f~/.bashrc];then.~/.bashrcfiexportJAVA_HOME=/usr/share/jdk1.8.0_14#java安装目录exportPATH=$JAVA_HOME/bin:.....2.然后在目录 /root/sh/下创......
  • Linux搭建GitLab私有仓库
    前言GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。Gitlab是被广泛使用的基于git的开源代码管理平台,基于RubyonRails构建,主要针对软件开发过程中产生的代码和文档进行管理,Gitlab主要针对group和project两个维度进行代......
  • Python 命令行工具库:Fire
    Python命令行工具库:FirePythonFire是Google开源的一个可从任何Python代码自动生成命令行接口(CLI)的库。PythonFire是一种在Python中创建CLI的简单方法。PythonFire是开发和调试Python代码的有用工具。PythonFire帮助探索现有代码或将其他人的代码转换为CL......
  • • • ​​​​ 目录​ • shell命令概述 • 获得命令帮助 • Linux命令行的格式 •
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • Linux基本命令使用
    基本命令使用Linux中,一切皆文件文本文件链接文件一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。首字母是L开头的是软链接文件Linux中包括两种链接:硬链接(HardLink)和软链接(SoftLink),软链接又称为符号链接(Symboliclink)。硬链接:硬链接不占用磁盘空间硬链......
  • • • ​​​​ 目录​ • shell命令概述 • 获得命令帮助 • Linux命令行的格式 •
    目录shell命令概述获得命令帮助Linux命令行的格式文件和目录管理Bash的命令历史Bash的命令别名重定向vim文本编辑器vim编辑器的工作模式命令模式中的基本操作末行模式中的基本操作用户和组账号概述用户账号文件——password用户账号文件——shadow组账号文件—group、gshadow添加用......
  • • • ​​​​ 目录​ • shell命令概述 • 获得命令帮助 • Linux命令行的格式 •
    目录shell命令概述获得命令帮助Linux命令行的格式文件和目录管理Bash的命令历史Bash的命令别名重定向vim文本编辑器vim编辑器的工作模式命令模式中的基本操作末行模式中的基本操作用户和组账号概述用户账号文件——password用户账号文件——shadow组账号文件—group、gshadow添加用......