找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 501|回复: 0

Linux系统如何使用expr命令

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

3 Z* |) q* C$ f3 o# o/ V8 L    expr是Linux系统中的命令,可用于整数值的计算机字符串的操作,那么expr命令具体有哪些用途呢?下面小编将针对expr命令在Linux上的使用给大家做个详细介绍,一起来学习下吧。
5 \: H% g2 M& D; W1 g. R$ n1 _    字串长度  b- y$ H. _! X- n
  # expr length “this is a test”- ^) |8 {& v. L1 a. L
  14) @$ T2 C7 g' Q7 Q
  数字求商数' m% |6 J& [( ~* z
  # expr 14 % 92 r" D( v1 w, @  G( o9 ]8 k2 ]8 |) Q
  5" Y* e& `# ^3 \! {5 h
  从位置处抓取字串8 ^6 d) C  T, O! R9 I( ^
  # expr substr “this is a test” 3 5
( M+ R. m7 m' l  o* d. Z  is is
# C7 J/ m- u7 K- s& L4 x  数字串 only the first character# Z$ h( O! {( d: x7 w) v) \5 e+ d
  # expr index “testforthegame” e9 {: i- D8 C) M+ M' w5 ?
  2
$ `3 `. u- _7 _* z6 s, ~/ v  字串真实重现
1 v- o4 B- s. B4 f# l  # expr quote thisisatestformela9 G1 N& R* G1 D& ~, n* }3 p4 X
  thisisatestformela
- y+ u$ n- r) e! b: R  expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。- b0 l9 l) w% ]- g6 q- [" P" g
  –格式为:( M" v3 m) \5 Z) P  Q( S$ g, N: c
  expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出). p4 N$ w2 w$ b: N' `- z: _& F1 c% \
  –参数应用规则:
0 ~% e3 Q, F2 r1 Q5 @5 e  用空格隔开每个项;: |/ W9 U. \$ ^8 R( b# k
  用 \ (反斜杠) 放在 shell 特定的字符前面;
8 ~; i5 E. m3 d  对包含空格和其他特殊字符的字符串要用引号括起来
0 Y0 X" m$ w8 ^+ r! Y& U  expr用法实例讲解:4 l' S6 {1 T$ D5 A8 ]0 N, I3 H8 }
  (1)计算字串长度
3 I8 Z# b2 i# Y/ `% K% J$ j3 Z  # expr length “this is a test”
' j. A* o+ C5 D  D, V1 X; P& _  14
" w6 p5 }3 E  _) c  (2)抓取字串  j% k# @- t+ o/ _
  # expr substr “this is a test” 3 5
+ p# x( d9 d5 D1 v3 F3 Z  is is) u. c2 t  y0 @3 m2 n
  (3)抓取第一个字符数字串出现的位置8 I7 ?) u. A5 C  X
  # expr index “sarasara” a6 A' b" F5 t4 B
  2, k( q% Q0 f2 Z+ t
  (4)字串真实重现
; U  e$ T5 l3 i  # expr quote sara
% k/ V4 B1 T5 k2 V  sara
$ `/ X1 F/ L) p/ A* f/ J5 y9 Z3 Q  (5)整数运算
2 \, Z& a4 }$ U. y* q  e+ J3 ?  # expr 14 % 9; ~5 e! f4 b  b9 D" Q
  51 y$ Y7 [+ H0 Q$ M2 {/ n
  # expr 10 + 10
2 [7 h) ]- Y5 g- ~) ?  20" b( U: `  [. K2 m& s
  # expr 1000 + 900, K! h) [- k) ^! E( h
  19001 x" C8 g- K3 g# L( a
  # expr 30 / 3 / 25 v' j7 r. D" a' }, ~
  5
4 v9 c& T4 G/ b3 _- F) e  # expr 30 \* 3 (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义)4 f1 T; N8 Y" I: e
  90
% F: c$ e8 e4 R& q" m4 a  # expr 30 * 38 N3 e3 V6 E1 `2 _$ c
  expr: Syntax error+ M, C4 t9 Z1 N. Y3 y# \
  (6)增量计数" Q# G. v7 R/ [- @0 ^
  说明:expr在循环中用于增量计算。笔记本系统下载cjghost.com/soft_list/2_21-1.html先将变量初始化为0,然后循环值加1,反引号的用法为命令替代。
  [8 f. Z0 x3 u! a) W! l$ F+ d. V  》 LOOP=0; X" C9 j0 ]6 E7 @6 h5 Z& r2 {; Q  D
  》 LOOP=`expr $LOOP + 1`
- M* C8 c. S% r4 t8 Y  (7)数值测试3 i# _6 r) Z) S, ~/ p/ o1 {! }+ _
  说明:用expr测试一个数。如果试图计算非整数,则会返回错误。
  t0 _* e" [8 f  @) v4 c  # rr=3.46 E4 U8 s2 q% D9 }& `, t  ^
  # expr $rr + 1, K2 P. J6 V2 R4 g
  expr: non-numeric argument( |. A% a# R* q! t4 B0 e
  # rr=5
; `# t: q- ?9 ^5 p) k8 G  # expr $rr + 1- U; a/ P5 `1 m2 V4 Q. |3 [( [3 X
  6
" [# K' {! }# ^* {) w. S, b/ C  (8)模式匹配# f' v$ m% z4 l1 T9 \$ w
  说明:expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。
- k8 r" `* z2 o6 {9 N  # VALUE=account.doc
) o3 x* ~- f' ~  # expr $VALUE : ‘.*’
2 s) y- h* g( D5 x& Y0 l6 v; a  8
  i. E! x7 N* ~$ a  在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名。; V5 X# ~% G& d' D
  $expr $VALUE : ‘\(.*\).doc’) z8 G, |  q$ e' N
  account9 q6 ~  O  }; W0 k! [- g
  上面就是Linux expr命令的用法介绍了,我们可以使用expr命令进行数字求商、字串真实重现、抓取字串等,相当于命令行计算器。
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2025-12-18 12:47

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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