找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 532|回复: 0

Linux系统如何使用expr命令

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

1 {2 T# v+ d; a6 u    expr是Linux系统中的命令,可用于整数值的计算机字符串的操作,那么expr命令具体有哪些用途呢?下面小编将针对expr命令在Linux上的使用给大家做个详细介绍,一起来学习下吧。
3 ^, l' x+ {% W) |5 U    字串长度
1 @8 S( c! y& j7 k  # expr length “this is a test”
' j/ c2 r8 G* J# c) O$ b0 L  149 N1 s2 u. [0 Y! t* d6 z
  数字求商数
- H! W. a6 q9 j6 s  # expr 14 % 96 q+ N0 n* u' u* m& n
  5
" P7 ~4 n, [/ _6 G1 X4 E  从位置处抓取字串# n" V( @. I6 N- R# T' U8 Z
  # expr substr “this is a test” 3 5
) L5 m7 m3 B/ {( F  is is! e3 e. I' r, {" O$ u+ e! x7 T# b
  数字串 only the first character
; s! q" D( u$ X! y! u# P% V& T, ]( T  # expr index “testforthegame” e( p, Z, J# }( H6 \6 h" |; T6 q8 Z
  2
& M  C$ _$ {2 H8 B0 t4 N* ?  字串真实重现7 \  `0 m2 ]+ n0 j0 L
  # expr quote thisisatestformela; X4 |4 B: p6 o8 I) v( m9 e
  thisisatestformela
. W+ n- a) M5 K: n; V- T  expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。: \& {+ p( a0 S3 K) O- H" D
  –格式为:+ [7 H6 [6 e4 w: h7 R0 ^7 T( e' F: C
  expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)# k1 \/ ?) Q2 l1 ?' t) b
  –参数应用规则:
; P" z6 }+ v3 v% t  用空格隔开每个项;* f  g& E8 `* ^
  用 \ (反斜杠) 放在 shell 特定的字符前面;
) L0 R: p. B( n( Y4 [  对包含空格和其他特殊字符的字符串要用引号括起来2 I. w. q5 m3 E" {+ l
  expr用法实例讲解:7 B) d4 R8 s& b6 g7 O/ c
  (1)计算字串长度0 H; p) t* U" `* G$ G9 E
  # expr length “this is a test”4 D# ^1 v3 q7 k" G0 {' R
  14
, p" d* k. r" i9 [3 C  (2)抓取字串
7 y; }0 b* ^- c  # expr substr “this is a test” 3 5
5 t$ M; E  n7 j% t# [' ?0 I  is is
0 x- ?6 W5 v& j3 Y. L9 ]/ Q  (3)抓取第一个字符数字串出现的位置
$ F: s1 A' F3 b% n- _8 q3 S  # expr index “sarasara” a; X! Y: o4 D8 S( b( a
  2$ F7 h- v3 n0 h. |
  (4)字串真实重现
* s) h7 R2 g# V! X0 r5 f+ }! G& @  # expr quote sara
7 Y( Z+ t) J8 Y  a5 U' ^  sara
+ O- p- }+ [2 t; H9 R% p+ }5 e% e) ?6 c) Q  (5)整数运算& j) Z/ O* l; L/ a3 C
  # expr 14 % 9
9 T- }0 _6 n; g" U7 N' |  58 _" T5 e) t1 N
  # expr 10 + 10
& M$ J) n, Y% V) ]4 f  n8 z6 T  20
+ K) E( E: b( J" ?: j- p  # expr 1000 + 9004 K. d, w/ }* V6 T0 J" @# A
  1900
5 j& H  r$ k- ]8 o( O  # expr 30 / 3 / 26 P$ V! h: F5 c+ |# j' ?
  5, |$ g! s4 g( u6 |' l9 S1 I
  # expr 30 \* 3 (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义)
4 r! t( E6 U  U2 N7 a  90
8 L# @" G, e* m( I6 k$ `  # expr 30 * 3
* I0 j1 a8 c) q' V( P$ |  expr: Syntax error5 {5 n8 S6 h5 B8 T6 j: i
  (6)增量计数
) J, R0 H2 x2 D  m$ F' m8 q  说明:expr在循环中用于增量计算。笔记本系统下载cjghost.com/soft_list/2_21-1.html先将变量初始化为0,然后循环值加1,反引号的用法为命令替代。
" b+ z( ]8 Y) ?% j; @  》 LOOP=0
" e6 |. G- @$ u: S3 S7 o( d" q8 D  》 LOOP=`expr $LOOP + 1`
" ?# p  s& }( j  (7)数值测试6 n0 s; {4 q* A5 P8 G' B0 |
  说明:用expr测试一个数。如果试图计算非整数,则会返回错误。) D( q! o3 ?& d; m
  # rr=3.4
) d& W! B4 ^( o% J& f/ t0 q! j, j  # expr $rr + 1  F6 `& e/ ]" R% Q$ q5 ~- P
  expr: non-numeric argument+ j: P! P( t: U6 \5 j; v1 B
  # rr=51 @) a% r+ s' n: u' v
  # expr $rr + 1
! t  P; [& [( R  n  6
7 o' j9 B0 k% P# k& @  (8)模式匹配0 z* k0 M) f1 k- i% }, w1 r
  说明:expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。2 P+ p4 ~& C0 j" f/ B
  # VALUE=account.doc
* _' a% y7 S9 a  # expr $VALUE : ‘.*’
1 d6 W! V; L; p# v8 q3 C5 [+ V$ W9 u% K  8& Y; E2 U3 a+ K) ]
  在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名。8 c2 p: f9 W5 v8 ~& D4 `
  $expr $VALUE : ‘\(.*\).doc’
: r# O6 T) [3 d" ^1 n  E( G  account
/ Q  G4 b6 a! Z* k; \8 `$ ^  上面就是Linux expr命令的用法介绍了,我们可以使用expr命令进行数字求商、字串真实重现、抓取字串等,相当于命令行计算器。
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

GMT+8, 2026-6-14 22:35

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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