1
)bc
bc在預設的情況下是個互動式的指令。在bc工作環境下,可以使用以下計算符號:
+ 加法
- 減法
* 乘法
/ 除法
^ 指數
% 餘數
如:
# bc
3+6 <=加法9
4+2*3 <=
加法、乘法
10(4+2)*3 <=
加法、乘法(優先)
184*6/8 <=
乘法、除法
310^3 <=
指數1000
18%5 <=餘數
3+4;5*2;5^2;18/4 <=
一行輸入多個計算,用;相隔。710
254quit <=退出
# bcscale=3 <=
設小數字
1/3.333
quit
以上是互動的計算,那到也可以不進行互動而直接計算出結果。 a.
用echo和|法,如:
# echo "(6+3)*2" |bc18
# echo 15/4 |bc3
# echo "scale=2;15/4" |bc
3.75
# echo "3+4;5*2;5^2;18/4" |bc710
254
另外,bc
除了scale來設定小數字之外,還有ibase和obase來其它進製的運算。如:
//將16進製制的a7輸出為10進製, 注意,英文只能大寫
# echo "ibase=16;a7" |bc
167
//將2進製的11111111轉成10進製
# echo "ibase=2;11111111" |bc
255
//輸入為16進製制,輸出為2進製
# echo "ibase=16;obase=2;b5-a4" |bc
10001
對於bc還有補充,在bc --help中還可以發現:bc後可以接檔名。如:
# more calc.txt
3+24+5
8*210/4
# bc calc.txt59
1622)expr
expr
命令可不光能計算加減乘除哦,還有很多表示式,都可以計算出結果,不過有一點需要注意,在計算加減乘除時,不要忘了使用空格和轉義。下面直接用例項來介紹一下expr的運算,如:
# expr 6 + 3
(有空格)9
# expr 2 \* 3
(有轉義符號)6
# expr 14 % 95
# a=3
# expr $a+5
(無空格)
3+5# expr $a + 5
(變數,有空格)8
# a=`expr 4 + 2`
echo $a
6# expr $a + 3
9另外,expr對於字串的操作(計算)也是很方便的,如:
//
字串長度
# expr length "yangzhigang.cublog.cn"21
//
從位置處抓取字串
# expr substr "yangzhigang.cublog.cn" 1 11
yangzhigang
//
字串開始處
# expr index "yangzhigang.cublog.cn" cu13
3)dc
用dc來進行計算的人可以不多,因為dc與bc相比要複雜,但是在進行簡單的計畫時,是差不多的,不算難。dc為壓棧操作,預設也是互動的,但也可以用echo和|來配合打算。如:
# dc32+
p54*
p20quit
# echo 3 2+ 4* p |dc20
4)echo
echo
用來進行回顯,是周知的事。上面也配合bc來進行計算。其實echo也可以單獨進行簡單的計算,如:
# echo $((3+5))
8# echo $(((3+5)*2))16
echo
還可以進行變數的計算,如:
# a=10
# b=5
# echo $(($a+$b))
15# echo $a+$b
10+5
# echo $a+$b |bc15
//計算前天的日期
# echo `date +%y%m%d`
20090813
# echo `date +%y%m%d`-2
20090813-2
# echo `date +%y%m%d`-2 |bc
20090811
5)awk
awk在處理檔案的時,可以進行運算,那當然也可以單單用來計算了,如:
# awk 'begin'
5# awk 'begin'10
Linux算術運算
let方法 student myhost a 1 student myhost b 3 student myhost let c a b c前不用加 student myhost echo c 4 student myhost let a student myhost echo a 2 studen...
Linux之Shell的算術運算
在bash的算術運算中有以下幾種方法 名稱 語法 範例 算術擴充套件 算術式 r 1 2 3 使用外部程式expr expr 算術式 r expr 1 2 3 使用 算術式 r 1 2 使用內建命令 declare i 變數 算術式 declare i r 1 2 3 使用內建命令let let 算...
Linux之Shell的算術運算
在bash的算術運算中有以下幾種方法 名稱 語法 範例 算術擴充套件 算術式 r 算術式 r 1 2 3 使用外部程式expr expr 算術式 r expr 1 2 3 使用 算術式 r 1 2 使用內建命令 declare i 變數 算術式 declare i r 1 2 3 使用內建命令let...