expr是Linux系統中的命令,可用於整數值的計算機字符串的操作,那麼expr命令具體有哪些用途呢?下面小編將針對expr命令在Linux上的使用給大家做個詳細介紹,一起來學習下吧。
字串長度
# expr length “this is a test”
14
數字求商數
# expr 14 % 9
5
從位置處抓取字串
# expr substr “this is a test” 3 5
is is
數字串 only the first character
# expr index “testforthegame” e
2
字串真實重現
# expr quote thisisatestformela
thisisatestformela
expr命令是一個手工命令行計數器,用於在UNIX/LINUX下求表達式變量的值,一般用於整數值,也可用於字符串。
–格式為:
expr Expression(命令讀入Expression 參數,計算它的值,然後將結果寫入到標准輸出)
–參數應用規則:
用空格隔開每個項;
用 \ (反斜槓) 放在 shell 特定的字符前面;
對包含空格和其他特殊字符的字符串要用引號括起來
expr用法實例講解:
(1)計算字串長度
# expr length “this is a test”
14
(2)抓取字串
# expr substr “this is a test” 3 5
is is
(3)抓取第一個字符數字串出現的位置
# expr index “sarasara” a
2
(4)字串真實重現
# expr quote sara
sara
(5)整數運算
# expr 14 % 9
5
# expr 10 + 10
20
# expr 1000 + 900
1900
# expr 30 / 3 / 2
5
# expr 30 \* 3 (使用乘號時,必須用反斜線屏蔽其特定含義。因為shell可能會誤解顯示星號的意義)
90
# expr 30 * 3
expr: Syntax error
(6)增量計數
說明:expr在循環中用於增量計算。先將變量初始化為0,然後循環值加1,反引號的用法為命令替代。
》 LOOP=0
》 LOOP=`expr $LOOP + 1`
(7)數值測試
說明:用expr測試一個數。如果試圖計算非整數,則會返回錯誤。
# rr=3.4
# expr $rr + 1
expr: non-numeric argument
# rr=5
# expr $rr + 1
6
(8)模式匹配
說明:expr也有模式匹配功能。可以使用expr通過指定冒號選項計算字符串中字符數。.*意即任何字符重復0次或多次。
# VALUE=account.doc
# expr $VALUE : ‘.*’
8
在expr中可以使用字符串匹配操作,這裡使用模式抽取.doc文件附屬名。
$expr $VALUE : ‘\(.*\).doc’
account
上面就是Linux expr命令的用法介紹了,我們可以使用expr命令進行數字求商、字串真實重現、抓取字串等,相當於命令行計算器。