工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 393|回复: 0

Linux系统如何使用expr命令

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

9 Y$ l( T9 U3 ^1 S% v( a    expr是Linux系统中的命令,可用于整数值的计算机字符串的操作,那么expr命令具体有哪些用途呢?下面小编将针对expr命令在Linux上的使用给大家做个详细介绍,一起来学习下吧。8 S7 K' u9 X& E5 v9 F
    字串长度
3 w2 Y8 \4 {3 _# l( L4 C. E8 |  # expr length “this is a test”
( ~0 ~1 ?& t4 n' @5 I# U% p  14
( b5 a; |* a$ W, V4 K/ W/ ]0 H  数字求商数
1 A$ r. V6 t9 }) K  P  # expr 14 % 9
8 B, C- W6 w0 ]+ l* Q  5
% ?, O' M2 a# Q+ H% \" {2 x# g7 Y7 L  从位置处抓取字串9 J4 h- ?8 X  \6 [# J+ u- x
  # expr substr “this is a test” 3 55 o1 H/ a  @- S' `/ _
  is is
$ z: p. m/ `3 i) M  数字串 only the first character5 T, }6 e; c' p2 T- E0 y0 p: X
  # expr index “testforthegame” e
/ k8 k4 a( [: v& A  2% b# h; C" w. z' R# I# Z" s
  字串真实重现, e0 H# s  P6 s
  # expr quote thisisatestformela
  a2 K9 G: g0 Y$ I, p: o  thisisatestformela3 F* s2 \5 x# j; K3 }
  expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。
; r4 x8 ^& k% ]$ W  –格式为:2 S6 H# H! J+ s5 u
  expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)
6 ~6 K- s5 m+ N  Q1 i* n& u  –参数应用规则:) H+ g7 \) U8 y! z6 H0 S0 M
  用空格隔开每个项;
4 n" E5 c) l3 T, f5 G7 a7 l  用 \ (反斜杠) 放在 shell 特定的字符前面;
1 I( _% P) L" f5 C% _  对包含空格和其他特殊字符的字符串要用引号括起来
1 z" f) O& c' K! v  S) W  expr用法实例讲解:
1 u; ^, B  t( Z1 q/ X  (1)计算字串长度
$ p; }. ~- m9 c) E% b$ S  # expr length “this is a test”
( `+ F( q) l5 k3 P: d- H8 [  14
' ]4 V, \8 f" t. E0 `) R2 ~% X  (2)抓取字串
; R# z( p, w8 k7 D  # expr substr “this is a test” 3 5
2 |' i& l# L5 e  is is
6 i; T% l; |! ?5 l2 [  (3)抓取第一个字符数字串出现的位置
  m9 @4 ?# U) T; G: i4 L" Y  # expr index “sarasara” a/ ~/ U- Y/ f7 T( ~8 X
  2
. {% S) {, M1 }  (4)字串真实重现: G/ ]; q$ r, L, r2 [( b
  # expr quote sara  L  ^; S( m) r4 ]
  sara' O/ U1 u+ r( l) R1 S' _3 o, \2 F- n
  (5)整数运算
9 l8 t0 ~0 `, E' F+ L( ^! Z  # expr 14 % 9
8 n. Y1 W6 J# W6 l% I  57 ^  g  ~' D  @9 {
  # expr 10 + 10  f" K' Z: c" W5 I1 ~0 U
  20( b+ N0 ~3 W: U# \$ P8 T3 d+ s  G' L7 w
  # expr 1000 + 900& x1 Y+ F0 V3 v0 s* ?8 g
  1900
4 U; \: A+ d( g. Z6 H  x  # expr 30 / 3 / 28 \9 x- A) `6 D
  5+ ]) E: }4 k( j
  # expr 30 \* 3 (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义)( v& O) f# E5 v- H7 z& r# G
  90
' G) @; S( \9 W# P* O  # expr 30 * 36 |  t6 `# C9 I
  expr: Syntax error* Q) m5 z0 c9 j; C3 d2 Q$ D
  (6)增量计数2 I$ z2 Q/ A% U# E2 e
  说明:expr在循环中用于增量计算。笔记本系统下载cjghost.com/soft_list/2_21-1.html先将变量初始化为0,然后循环值加1,反引号的用法为命令替代。4 r% {8 l% w( \2 O5 l
  》 LOOP=0. L; S. N. X5 A2 J* J5 S
  》 LOOP=`expr $LOOP + 1`
8 w) v7 @1 s) D2 @- R& i1 V% [  (7)数值测试
0 T6 O4 R0 _1 H8 D* }  说明:用expr测试一个数。如果试图计算非整数,则会返回错误。
3 \& o. @# ]) a) C* Q8 I  # rr=3.4" l7 E3 y# u9 J/ z4 O9 {" \4 G. J
  # expr $rr + 1! G7 u& X1 p% S) y
  expr: non-numeric argument0 K) B6 T$ t0 n! h
  # rr=5' t# g# v" |# o9 o
  # expr $rr + 15 m* ]( j) N$ ^
  6) s& \7 n% ]" W4 Z# o2 u' T0 [+ S
  (8)模式匹配: o9 N+ S# I& M5 m( j8 G
  说明:expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。: M: J2 p4 k, M) ^( z
  # VALUE=account.doc
9 l! X; q2 K1 \8 b  # expr $VALUE : ‘.*’
- X8 r0 L& n- Q: X' ?' _  8+ |; S5 o4 C/ D0 H: D# s
  在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名。
* i* a( T* J& J, N% I  $expr $VALUE : ‘\(.*\).doc’6 ^4 R& F3 `( G& m
  account
# H/ u5 t/ b- y+ L0 O+ D  ^0 M( O, ^  上面就是Linux expr命令的用法介绍了,我们可以使用expr命令进行数字求商、字串真实重现、抓取字串等,相当于命令行计算器。
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2025-5-21 01:00

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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