[20191028]數值累加的各種方法2.txt
[20191028]數值累加的各種方法2.txt
--//前一陣子做了數值累加的測試,連結:http://blog.itpub.net/267265/viewspace-2660877/
--//當時的條件是每行1個數值的情況,如果存在多個數值的情況呢.繼續測試.
$ cat -tv b.txt
301000.0000^I^I293000.0000
66000.0000 182000.0000^I98000.0000
252914.5300
235000.0000 300000.0000
330000.0000
--//^I表示<tab>
1.方法1使用awk:
$ awk '{for(i=1;i<=NF;i++) sum+=$i} END {printf("%.10f\n",sum)}' b.txt
2057914.5300000000
--//使用awk估計是最常用的方式.也是我不熟悉的方式.
--//awk還可以重新定義分隔符,我這裡定義RS="[ \t\n]+",格式與正規表示式類似.
$ awk 'BEGIN{RS="[ \t\n]+"} {sum+=$1} END {printf("%.10f\n",sum)}' b.txt
2057914.5300000000
2.xargs方法,這個比較簡單,不受1行多個數值的影響.
$ cat b.txt |xargs | sed 's/ /+/g' | bc
2057914.5300
$ cat b.txt |xargs | (sed -e 's/^/s+=/g' a.txt ; echo s ) | bc
2057914.5300
3.其它方法可以先轉化為1行1個數值,然後累加.
$ cat b.txt | (tr '\n\t\r\ ' '+' ; echo 0 ) | sed 's/+\+/+/g' | bc
2057914.5300
$ (cat b.txt |xargs -n 1 | sed -e 's/^/s+=/g' ;echo s ) | bc
2057914.5300
$ cat b.txt |xargs -n 1 | paste -sd+ | bc
2057914.5300
4.使用dc計算器:
--//bing檢索,找到一個不用計算輸入多少加號的方法.
$ cat b.txt | dc -f - -e '[+z1<r]srz1<rp'
2057914.5300
--//-e後面那一串什麼意思,即使看了man dc文件,我也沒看懂表示什麼意思.
--//一般bash程式設計並不太講究執行效率,有機會測試記錄很多的情況,那種方式快一些.
--//也許還有許多方法.不在一一列舉.有機會測試大量資料的情況.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2661719/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20191021]數值累加的各種方法.txt
- [20191104]數值累加的各種方法3.txt
- [20240807]數值累加的問題.txt
- numpy各種生成隨機數的方法隨機
- C++變數總結束 | 輸出各種變數的值C++變數
- 滿足條件的數累加被17整除的數的累加
- 淺談Python變數賦值的三種方法!Python變數賦值
- Go:變數宣告的多種方法與預設值Go變數
- 各種測試方法的問題
- python中list的各種方法使用Python
- python各種加解密方法Python解密
- Linux各種變數的含義Linux變數
- jQuery獲取各種input輸入框的值jQuery
- [20191216]共享池繫結變數的值在哪裡2.txt變數
- postman中各種變數Postman變數
- 1.02 docker環境的各種搭建方法Docker
- 玩轉陣列各種方法陣列
- 12 ### 各種成員變數變數
- C語言交換兩個變數的值的5種基本方法C語言變數
- C#各種加密方法,字典排序C#加密排序
- SQL Server各種日期計算方法SQLServer
- 用各種方法解01揹包
- 數值分析方法
- 各種各樣的映象加速
- 各種掃路車正確的保養方法
- js建立物件的各種方法以及優缺點JS物件
- 課時14:字串:各種奇葩的內建方法字串
- 【數值計算方法】數值積分&微分
- 含免費次數的各種好用API分享API
- 課時26:字典:各種內建方法
- 在.net中讀寫config檔案的各種方法
- 遍歷物件鍵值對的兩種方法物件
- 【數值計算方法】常微分方程數值解-數值實驗
- 數值常用的屬性和方法
- .NET 調整圖片尺寸(Resize)各種方法
- 確認伺服器各種核數資訊的三種辦法伺服器
- Python常用的四種數值交換方式!Python
- MySQL中處理各種重複的一些方法MySql