當前位置:首頁 » 語數英語 » shell數學運算

shell數學運算

發布時間: 2021-04-27 03:48:00

1. shell 腳本裡面從一個文本裡面讀出一個數字,如何轉換成整數我需要用這個數字進行加減乘除

可以參考下面幾種方法:

法一:

echo ${var%.*} #這個是直接去除小數點及後面所有內容,只用於bash

法二:

echo $var | awk -F. '{print $1}' #以小數點為分隔符取第一個欄位

法三:

echo $var | awk '{print int($0)}' #awk中可直接使用C函數取整

(1)shell數學運算擴展閱讀:

shell腳本

shell script是利用shell的功能所寫的一個程序,這個程序是使用純文本文件,將一些shell的語法與指令寫在裡面,然後用正規表示法,管道命令以及數據流重導向等功能,以達到我們所想要的處理目的。

更明白地來說,shell script就像早期dos年代的.bat,最簡單的功能就是將許多指令匯整寫一起,讓使用者很容易地就能夠一個操作執行多個命令。

2. Linux中編寫一個shell程序,讀入一組數字,使用for循環計算該數組數字的乘積。

#!/bin/bash
read-p"請輸入一組數字:"-aarray
accumulate=1
fornumin${array[@]}
do
accumulate=$(($accumulate*num))
done
echo"乘積是:"$accumulate

計算讀入的一組數字(在同一行輸入)的積

3. linux Shell編程中常用的數學計算方法:expr,let,bc及其他。哪個效率更高一點

從效率來說let==$(()) > expr > bc,這個是絕對的。

let和$(())運行是內建命令,使用相同的演算法。

expr和bc是外部程序,expr的體積幾乎等於bc的1/3,執行一次裝入內存所消耗的時間就不一樣。

從運算能力來說,自然bc排第一位。

其實還有awk,能更好的執行基本運算、匯總、求平均等更復雜的。而且還可以使用數組、哈希表。

4. linux的shell腳本編程,求兩數字間所有偶數的和,我是小白,不太懂。

錯的地方太多了

  1. 每個運算符和數字/變數之間應該有空格,如「1 > 2」

  2. 小於等於不能用「<=」表示,應該用 -le

  3. 使用「>」「<」等運算符時,必須用「[[ ]]」符號擴起來以進行轉義(while那裡就應該改成 while ( [[ $c -le $b ]] )

我把改好後的貼出來給你看看吧(雖然按照你輸入的,一直沒運算出結果)

#@/bin/bash
a=$1
b=$2
c=$1
d=0
while([[$c-le$b]])
do
if[[$c%2==0]]
then
d=$c+$d
c=$c+1
fi
done
echo$d

5. shell中將字元串轉換成數字

1、數字類型轉字元類型

數字類型轉字元類型,是比較常見的,也是必須容易實現的。大多時候系統能夠自動進行轉換,如:

aa=$((1+1));echo $aa

變數aa賦值為整數2,但echo 輸出時已被當成字元型。當然也可以強制進行轉換,如:

echo $aa""

通過與空字元串進行連接,強化將變數aa轉化成了字元型。

6. shell程序編寫程序計算一個數中各位數字的和

可以這樣寫

#!/bin/bash
echo -n "your numnber: "
read num

len=$(echo $num | wc -c)
sum=0
for ((i=1;i<$len;i++))
do
sum=$(($sum + $(echo $num | cut -c $i)))
done
echo "sum of '$num' is $sum"

運行結果:

your numnber: 12
sum of ཈' is 3

在運行一次

your numnber: 1729
sum of 񟨱' is 19

7. linux shell簡單計算器 怎樣在運行文件時直接運算,怎樣判斷輸入的值為數字

#!/bin/sh
if[$#-ne3]
then
echo"Usage:$0value1operatorvalue2"
elifexpr"$1":'[0-9][0-9]*'>/dev/null&&expr"$3":'[0-9][0-9]*'>/dev/null
then
case$2in
[+/-])res=`expr$1$2$3`
echo"Answeris$res"
;;
X)res=`expr$1*$3`
echo"Answeris$res"
;;
*)echo"operatormustbe+,-,/,X"
;;
esac
else
echo"value1andvalue2mustbenumber"
fi

8. 文本處理問題, shell或者vim, 如何對文本裡面的數字做運算

用awk操作吧

9. 編寫一個shell程序,計算200以內3或5整數倍的數字的和

#!/bin/sh
a=0
for((i=1;i<=$1;i++))
do
if [[ i%5 -ne 0 ]]
then
a=$((a+i))
fi
done
echo $a

測試結果
$ ./test.sh 100
4000
$ ./test.sh 98
3901

熱點內容
高速限速多少 發布:2025-02-20 04:35:34 瀏覽:820
箱根玻璃美術館 發布:2025-02-20 03:32:39 瀏覽:924
牛津版高中英語教材 發布:2025-02-20 02:23:15 瀏覽:159
商州教育網 發布:2025-02-20 01:24:08 瀏覽:632
fdi是什麼意思 發布:2025-02-19 23:54:07 瀏覽:353
怎麼將pdf轉換成word 發布:2025-02-19 23:17:03 瀏覽:440
程建國老師演講 發布:2025-02-19 22:52:50 瀏覽:886
一年級語文上冊教學 發布:2025-02-19 20:44:55 瀏覽:254
小學師德教育總結 發布:2025-02-19 20:29:42 瀏覽:249
調教師穿越到古代 發布:2025-02-19 20:10:21 瀏覽:381