2.06.2012

Linux的expr指令

最近在看我主管寫的Source Code時,注意到了一個自己之前沒用過的指令-expr;巧的是,在我的Linux指令辭典裡也沒找到這個指令 (也有可能是我的書籍版本太舊)。於是乎趕緊Google一下,把大概的用法記下來。

expr指令的主要用法,是計算數值字串處理。例如以下範例:

expr 5 + 2    // 7
expr 5 - 2    // 3
expr 5 \* 2    // 10
expr 5 / 2    // 2
expr 5 % 2    // 1
expr "Hello! World! "    // Hello! World!

expr length "Hello! World! "    // 14
計算字串長度

expr substr "Hello! World! " 5 6    // o! Wor
找出子字串;從第5個字元開始,取6個字元。

以上的結果如下圖:



這裡有兩點要注意的:
1. 在做數學運算時,數值和運算符號之間要有空格,要不然會被當成字串來處理。
2. 在做乘法運算時,在'*'號前面要多加一個'\'字元;要不然會出現「expr: 語法錯誤。」的錯誤訊息。



除此之外,除了加減乘除餘這五個運算符號,也和C語言一樣,可以做'|', '&', '>=', '<'等位元運算。

細節部份,可查詢man expr

沒有留言:

張貼留言