亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Shell命令求和整數,每行一個?

Shell命令求和整數,每行一個?

白衣非少年 2019-07-31 11:21:17
Shell命令求和整數,每行一個?我正在尋找一個命令,它將接受多行文本作為輸入,每行包含一個整數,并輸出這些整數的總和。作為一個背景,我有一個日志文件,其中包括時間測量,所以通過grepping相關的行,以及一些sed重新格式化,我可以列出該文件中的所有時間。然而,我想計算出總數,而且我的思緒已經變得空白,因為任何命令我都可以將這個中間輸出傳遞到最終總和。我過去總是使用expr過,但除非它在RPN模式下運行,否則我認為它不會應付這個問題(即便如此,它也會很棘手)。我錯過了什么?鑒于可能有多種方法可以實現這一點,我將很樂意閱讀(并提升)任何有效的方法,即使其他人已經發布了一個不同的解決方案來完成這項工作。相關問題:在Unix上計算一列輸出總和的最短命令?(來自@Andrew)更新:哇,正如所料,這里有一些不錯的答案??雌饋砦乙欢ㄒ猘wk作為命令行工具進行更深入的檢查!
查看完整描述

3 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

有點awk應該這樣做嗎?

awk '{s+=$1} END {print s}' mydatafile

注意:如果您要添加超過2 ^ 31(2147483647)的任何內容,某些版本的awk會有一些奇怪的行為。有關更多背景,請參閱評論 一個建議是使用printf而不是print

awk '{s+=$1} END {printf "%.0f", s}' mydatafile


查看完整回答
反對 回復 2019-07-31
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

粘貼通常合并多個文件的行,但它也可用于將文件的各行轉換為單行。分隔符標志允許您將x + x類型方程傳遞給bc。

paste -s -d+ infile | bc

或者,當從stdin管道時,

<commands> | paste -s -d+ - | bc


查看完整回答
反對 回復 2019-07-31
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

Python中的單行版本:

$ python -c "import sys; print(sum(int(l) for l in sys.stdin))"


查看完整回答
反對 回復 2019-07-31
  • 3 回答
  • 0 關注
  • 1265 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號