工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 392|回复: 0

Linux系统如何使用expr命令

[复制链接]
发表于 2015-4-2 20:59 | 显示全部楼层 |阅读模式
# I+ n) W) c' x2 h
    expr是Linux系统中的命令,可用于整数值的计算机字符串的操作,那么expr命令具体有哪些用途呢?下面小编将针对expr命令在Linux上的使用给大家做个详细介绍,一起来学习下吧。, ?5 O8 e; f/ e/ y$ h- J
    字串长度
3 }, Y, U8 v) u7 ]/ ~" x. J0 I  # expr length “this is a test”. g' W' \/ y# u5 T0 O" w
  14
$ L# w0 R/ {+ m2 ^  P2 s7 L  数字求商数
( u6 N' E( ]  V  {, P4 D: B  # expr 14 % 9
! U2 y+ v7 y6 K& c+ L$ y2 O6 L  5
1 @& m. k+ ], `4 s  从位置处抓取字串& o# ^! K7 y& H4 N7 q
  # expr substr “this is a test” 3 5
6 g1 q4 U. v5 s6 k0 S  is is
  i* o) J) G/ W" E  数字串 only the first character
/ h; M! J" d7 m) ^, ?  # expr index “testforthegame” e7 U& g" x  o8 w: b7 G
  2* Z5 E/ J% t- u3 M
  字串真实重现& X) _; r, [- @6 B+ v
  # expr quote thisisatestformela! m$ F1 V/ e) d# G% e% H
  thisisatestformela3 v: L* N( {& G, @$ O7 W6 H3 b, x  c
  expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。
! n# u1 e; E5 i5 Y  –格式为:
- W' E! x. w2 h" M8 d  expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)
9 H. N$ k9 r8 N9 }/ P, T) M4 s  –参数应用规则:
& \- M2 m1 \4 `" J2 _  用空格隔开每个项;  j+ z/ e; `) |8 g  p7 N, U* j* p
  用 \ (反斜杠) 放在 shell 特定的字符前面;7 J& r  e  J+ Q
  对包含空格和其他特殊字符的字符串要用引号括起来
4 `( q+ Z* E9 T- P  expr用法实例讲解:2 V( ?, E) b. a% |" S
  (1)计算字串长度5 H6 h! Z0 C) x9 h, ?; }+ W8 v
  # expr length “this is a test”
  C! ]& R# D7 W& Z1 E  148 t; P& s8 J; J* K6 L5 C
  (2)抓取字串$ w6 y, C) a  a9 ~: K2 z* @
  # expr substr “this is a test” 3 56 J/ S" O: e/ P4 {! o
  is is
+ I7 Q; F% k' `' D: G# D# D  (3)抓取第一个字符数字串出现的位置
- k) j2 J; G# ~  n- J# l" F  # expr index “sarasara” a0 i3 D# z: z4 p* h
  2
; U+ r/ I; G& q8 G  e& V2 I  (4)字串真实重现! l; w2 A4 K1 o" e
  # expr quote sara
2 @, ~7 R( Q" {/ I( l  sara
% ~; T2 k* g% |8 a, L  (5)整数运算
6 f: Z: v' I( f0 k1 c  # expr 14 % 92 ?. e' e2 w; q4 T7 c+ H( m% T
  5! Q* m9 D( c6 }9 r
  # expr 10 + 100 x  o. t5 |0 |
  20
3 a) O' A* T  @1 |1 b6 ?  F  # expr 1000 + 900
( D+ T5 E+ H: N1 ~" p  1900/ S' @. \9 |* P7 ], s& V
  # expr 30 / 3 / 2
- F3 R: L' v( Z. \  51 a9 z; h  d( C
  # expr 30 \* 3 (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义)
) r; c4 @+ n# A1 G5 |+ @  903 R* R" ]. e1 w9 Q$ [* G6 V$ l! }- H
  # expr 30 * 32 B& \/ E$ g2 z* |! f
  expr: Syntax error
5 c0 c& l2 O9 b0 K7 r& W  (6)增量计数
: p) ]+ G7 A7 l# ?1 e5 d  说明:expr在循环中用于增量计算。笔记本系统下载cjghost.com/soft_list/2_21-1.html先将变量初始化为0,然后循环值加1,反引号的用法为命令替代。
/ k8 h: s3 I4 T  ?7 D; @6 \$ c  》 LOOP=03 {; z  c" V) H5 C* k) B
  》 LOOP=`expr $LOOP + 1`4 p9 j" m4 L4 F: s7 `* n
  (7)数值测试
) {/ }% {, }: n0 x# v. x  说明:用expr测试一个数。如果试图计算非整数,则会返回错误。
7 i1 \  s. i; \$ a  # rr=3.4  |8 M8 q4 b9 X9 m
  # expr $rr + 1
" W' j9 |( P( O1 ^: F  expr: non-numeric argument
/ g/ H- c8 P  p1 K; h1 t1 ~  # rr=5# `8 ]. x, k0 I  U) X
  # expr $rr + 1
$ c5 G8 @$ C; m" K6 Z; W; D  6* t" ^. R, b# T8 e
  (8)模式匹配
9 p8 N" j, q5 u- u3 I: p5 p  说明:expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。
+ ?0 I# q) K$ |: C& n/ e7 `  # VALUE=account.doc& G0 z* I$ R3 n. C
  # expr $VALUE : ‘.*’% @* \( Q) O5 ^+ ?) e1 M2 k
  84 l6 C9 D! @- a
  在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名。& N& o0 _& S9 t; {4 Z2 ~+ ^% s
  $expr $VALUE : ‘\(.*\).doc’; [0 T7 i! _  d7 p2 \
  account
2 ]# s8 i' F3 |1 I0 z  n. H  上面就是Linux expr命令的用法介绍了,我们可以使用expr命令进行数字求商、字串真实重现、抓取字串等,相当于命令行计算器。
您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

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

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

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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