工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 451|回复: 0

Linux系统如何使用expr命令

[复制链接]
发表于 2015-4-2 20:59 | 显示全部楼层 |阅读模式

7 d% z) X! p* [: a    expr是Linux系统中的命令,可用于整数值的计算机字符串的操作,那么expr命令具体有哪些用途呢?下面小编将针对expr命令在Linux上的使用给大家做个详细介绍,一起来学习下吧。: e/ R! s9 f8 G: h0 U
    字串长度
' P% ]" r/ s- F4 @. W+ m  # expr length “this is a test”
* b" \$ l8 g& z' x  14
& {* i- b# @6 _0 a1 V$ J, p$ q  数字求商数
* O2 c. n$ t8 E6 r  # expr 14 % 97 M* @' e. X* F% f6 ]" i2 G
  5
8 E! H, a" P0 S& {. G+ ]2 Z( X  从位置处抓取字串
9 b7 Y; u5 ?3 F( E. n  # expr substr “this is a test” 3 5& x2 I0 M! Y- Y3 B4 \6 \$ ^
  is is
# x. t5 p' c/ \/ }- ^* I  数字串 only the first character
* C# O5 q$ x* f  # expr index “testforthegame” e( O$ j4 c# S# j: N+ h4 n$ J2 ]
  2% J1 x- _9 S0 c' @2 A
  字串真实重现6 q; _2 s* O7 J, `. g
  # expr quote thisisatestformela; R5 }% d- L! _. f; B5 e* m; ]
  thisisatestformela
- N3 G) q9 i$ f. m  n  expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。
5 G/ @4 N: h% ?1 U# z  –格式为:1 D: K2 {$ Q& ]' G1 u
  expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)2 O1 p- X5 m# K* }# Q
  –参数应用规则:
7 X9 W" c, Q& F  用空格隔开每个项;
9 h$ D, a; ?; R+ q: p  用 \ (反斜杠) 放在 shell 特定的字符前面;, s$ O' a( z% `, j+ H; |! r
  对包含空格和其他特殊字符的字符串要用引号括起来; p; |& M7 u  V0 G2 t: m
  expr用法实例讲解:( L) r! L3 }1 U& X- p
  (1)计算字串长度
+ p: L2 e& x5 b, b  P  # expr length “this is a test”
7 g9 o; n) t- y5 z3 D  14
6 G2 w6 X1 n* Z, b4 }7 n. R  (2)抓取字串( W3 @% |* i. ~* w
  # expr substr “this is a test” 3 5
/ x6 b8 ?0 c) l8 n# n3 D+ `) m' W  is is
* @; E9 K' J: y( ~# s$ Z. a  (3)抓取第一个字符数字串出现的位置
* }7 R$ I5 x7 k) ^  # expr index “sarasara” a: ~5 t# N% E% J. ]8 m' M
  2& z1 j. H$ |) Y4 W8 x# y6 P
  (4)字串真实重现) z4 ^. {6 t9 g- Q- ~$ y' F$ R& q9 Q
  # expr quote sara
6 z0 {# P* U4 P  sara
' u7 r4 r) e' l0 ^" `2 U' m2 F  (5)整数运算0 B+ ?1 M1 C" j8 A0 V, u! g) \
  # expr 14 % 93 z/ ~; b/ J# P) k) H  [) k
  5
0 Z) P/ L3 F8 G) z8 \' @! c  # expr 10 + 10
% T  ^: d( ~3 i1 d  20& g; B2 S- P3 @9 C6 z& [
  # expr 1000 + 900
/ U. L! m6 @9 G; D- p( ^, \  1900
/ F/ [. s- V* n9 l' p0 k/ w! Q8 B  h  # expr 30 / 3 / 2
% M" r3 s, `8 o4 [5 j" L5 W  5
* m9 F0 M  H- r% m# ^, O( }& U7 R  # expr 30 \* 3 (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义)+ `/ Q5 t( |# T) k' J
  90
! B: t- c( a& B. |5 w  # expr 30 * 3
' C; T* G6 G+ ?# o  expr: Syntax error
3 ]* C& ?3 ?0 e  (6)增量计数
3 @  A( z. T1 g! g  说明:expr在循环中用于增量计算。笔记本系统下载cjghost.com/soft_list/2_21-1.html先将变量初始化为0,然后循环值加1,反引号的用法为命令替代。
1 D6 e( _) w$ V: v  》 LOOP=0
& r% [8 N! P) B: D1 M6 y  》 LOOP=`expr $LOOP + 1`8 Z  K3 |- r  v9 |  ?5 d
  (7)数值测试
4 f5 W* H: m6 @5 f  说明:用expr测试一个数。如果试图计算非整数,则会返回错误。( E7 c" _/ m% T0 L
  # rr=3.4
& v% E: \& E3 A. }  r  # expr $rr + 1: B- c3 O8 m* P8 y0 _" R
  expr: non-numeric argument- \; f& z. P, C! q. @
  # rr=54 Z% }; ~1 O) t) B% M, d; U
  # expr $rr + 13 B9 o+ t! `" o6 P
  6
. p$ @# u* [0 [  (8)模式匹配' |5 ^% z( D* ]" R% _2 u& M
  说明:expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。/ ~6 {7 _3 P' P; O8 p
  # VALUE=account.doc& S+ J4 z+ `& y$ [
  # expr $VALUE : ‘.*’
% J2 W" D2 v5 h9 D  8
( l& Y, B! Y2 D0 ]) }! s  在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名。" d0 _1 s3 G% M! v' m8 Q# Z
  $expr $VALUE : ‘\(.*\).doc’
) W  i2 }4 V9 Z  account
6 f( X4 w1 i( ~' H) y# r/ k  上面就是Linux expr命令的用法介绍了,我们可以使用expr命令进行数字求商、字串真实重现、抓取字串等,相当于命令行计算器。
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-9-26 07:13

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表