expr命令用法-執行個體講解

來源:互聯網
上載者:User

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’
accounts

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.