Shell 小數對比問題

2021-10-07 17:43:36 字數 760 閱讀 5726

shell 常規資料比大小不支援小數和百分數,這時候需要用到一些轉換

expr命令是乙個手工命令列計數器,用於在unix/linux下求表示式變數的值,一般用於整數值,也可用於字串。

flag2=$(expr 1.1 \< 2.2)

# 0 為 假 false

# 1 為 真 true

if [ $flag2 -eq 0 ];then

echo "1.1 小於 2.2為"

else

echo "1.1 小於 2.2為真"

fi

輸出:1.1 小於 2.2為真

bc 命令是任意精度計算器語言,通常在linux下當計算器用。

# 0 為 假 false

# 1 為 真 true

if [ $(echo "-15.25 > -10.2"|bc) -eq 0 ];then

echo "-15.25 大於 -10.2 為假"

else

echo "為真"

fi

輸出:-15.25 大於 -10.2 為假

awk 是一種處理文字檔案的語言,是乙個強大的文字分析工具。

echo "1.7,2.5" |awk -f "," ''
輸出:1.7大於2.5為假

補充說明:

awk -f "," 輸出按逗號分隔

$1 $2為按逗號分隔後的取值,index從1開始。

小數和質數問題

幾位數,讓使用者輸入乙個數.計算這是乙個幾位數?num int input 請輸入你的數字 num abs num abs 絕位址 求絕對值 if num 0 num num 至少是一位數 count 0 while 1 死迴圈 num num 10 count 1 if num 0 break p...

快取的問題對比

1 can t get a connection from the pool 2快取在高併發和安全壓力下的一些問題 快取擊穿 是某乙個熱點key在高併發訪問的情況下,突然失效,導致大量的併發打進mysql資料庫的情況 快取穿透 是利用redis和mysql的機制 redis快取一旦不存在,就訪問my...

shell 語法與C語言對比

要實現的功能 c 語言程式設計 linux shell 指令碼程式設計 程式 指令碼的引數傳遞 intmain int argc,char argv printf arg1 s n argv 1 printf arg2 s n argv 2 printf arg3 s n argv 3 return...