|
|
7 }; s- N% V, E; h expr是Linux系统中的命令,可用于整数值的计算机字符串的操作,那么expr命令具体有哪些用途呢?下面小编将针对expr命令在Linux上的使用给大家做个详细介绍,一起来学习下吧。
% C) {, L9 |! |- N; G; t 字串长度0 {4 b' P- J- h9 k
# expr length “this is a test”, h. e+ I9 Q# k9 D7 \% E3 l
14. ]& v L8 }% r: n% e$ i9 ^. M' }6 j
数字求商数( V2 Y& H5 ^8 @8 p6 {! `
# expr 14 % 9: z Y$ t9 ~8 C1 h, j$ O
5; \ W9 m4 b/ q6 b' r
从位置处抓取字串6 Z$ V0 @0 ?' L7 i/ b; |7 H
# expr substr “this is a test” 3 5
1 @4 L+ `( X1 V) x2 l is is7 O! ~$ e- a3 Q3 `* x
数字串 only the first character
# g& N% S& v2 H- r: f9 b% g% M7 e # expr index “testforthegame” e
8 I, B' r4 G p6 a8 c 2! N, {% s! w! A5 W I
字串真实重现
0 \8 j+ ? K2 | # expr quote thisisatestformela
) x3 l- h2 ^+ n thisisatestformela
2 }, Y" |1 q3 s% T0 v5 G: i expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。
( a0 F+ j: ^2 e4 G –格式为:; g5 Y) k0 m) Z3 Z& f
expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)
1 r; g$ n( v) X% y- M –参数应用规则:
" j* f# W4 k; T; p 用空格隔开每个项;* k. L7 U6 F3 D( v; K! O/ `
用 \ (反斜杠) 放在 shell 特定的字符前面;6 `, }6 E W+ b" H! e0 y# E
对包含空格和其他特殊字符的字符串要用引号括起来! [6 r. U$ b) c! V
expr用法实例讲解:4 U0 R. y1 Q2 Q3 Z+ x" _
(1)计算字串长度
5 A9 M; O9 O) |6 q # expr length “this is a test”
+ a9 r3 n# o/ P% E. u 14
+ }' j% ^5 `4 S& |! N6 B6 r (2)抓取字串- g0 Y1 I1 w6 j6 F# Z) Y! B
# expr substr “this is a test” 3 5# Z% N9 q2 c' u: S& v
is is
8 O( L1 `0 c! V) T; B3 ?. ]1 x (3)抓取第一个字符数字串出现的位置- e7 g# V2 l; Y4 d! U! f7 e$ o* _
# expr index “sarasara” a0 R' s7 W4 Z. z4 y9 r, s& Z& l4 k
2 w% g( J; T% ?( x5 `
(4)字串真实重现
# J# g0 r) m' \" n0 d4 S1 t # expr quote sara1 Z% ]# L: r- r2 Y2 o$ I9 f* j7 \
sara' ^. D3 K4 H, q3 X6 S& J' p
(5)整数运算
9 x& f8 u1 ~5 W8 W. v # expr 14 % 9- s4 z2 U- [! n$ | a9 z, r
5
8 `7 w; h# [1 j' j8 n$ w # expr 10 + 10
: d6 M( i5 S3 P e \" r 20
4 ~- {. u' [4 T% ` # expr 1000 + 900
( m( g: h& W1 b! K- ~ 19004 p6 U/ |, ]! a
# expr 30 / 3 / 2' D" M& }! E$ d Y. i( {1 |6 R
5
" A/ z2 }) F9 a; h, a2 g6 L # expr 30 \* 3 (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义)9 X j" r" p! q) f5 T. o
90
" m. W- Z0 r$ a # expr 30 * 38 o. t6 s5 j) C& a8 K
expr: Syntax error
8 b8 h$ _- x: c" U' ]$ U6 k7 i( A (6)增量计数
+ }, m! m7 W- m+ C% u 说明:expr在循环中用于增量计算。笔记本系统下载cjghost.com/soft_list/2_21-1.html先将变量初始化为0,然后循环值加1,反引号的用法为命令替代。5 I8 ]# l" ^7 J: v6 X
》 LOOP=0
5 V5 S: H7 \# F$ U2 }, j 》 LOOP=`expr $LOOP + 1`
$ i$ I' C8 s! f4 O, T: p+ H% }$ Y; z. b (7)数值测试
7 s; e1 @, Z' K0 j' L2 ` 说明:用expr测试一个数。如果试图计算非整数,则会返回错误。
8 ?1 d2 K2 k( Q& f# U. L( J # rr=3.4
' U* W. Z+ @! Y3 c # expr $rr + 1
8 X% Q1 E/ V8 x t6 [ k expr: non-numeric argument( N2 o$ `4 e, K3 x- e/ s# Q5 |0 C+ D
# rr=5. c& A4 L' e" j1 O8 m* o9 R2 L
# expr $rr + 14 U0 E0 v. K0 q" |. g
67 X3 N. I) f# [. {
(8)模式匹配
. f' T s/ K; e# L2 m. V 说明:expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。9 v$ R" G8 i$ L
# VALUE=account.doc
8 X9 ]* j* @8 O# k6 x+ Y$ c # expr $VALUE : ‘.*’
( }) V, g& |; J: G9 I# s, A; c 8
) N' A9 n, ?" n$ S h7 I* s 在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名。! u# L9 `5 D% d; q) ~9 ?
$expr $VALUE : ‘\(.*\).doc’/ m3 A, x, H. ?9 y4 H3 a$ z- p
account$ d0 H4 E$ I- B( \# n
上面就是Linux expr命令的用法介绍了,我们可以使用expr命令进行数字求商、字串真实重现、抓取字串等,相当于命令行计算器。 |
|