簡體   English   中英

我如何總結bash shell中的指數值?

[英]How can I sum up the exponent value in bash shell?

這是示例值

2.31312e+06
4.34234234e+07
4.578362e+06
3.213124124e+06

如何添加它們?

您可以使用awk 以下假設文件中的每個數字都在單獨的行上:

awk '{a+=$0}END{print a}' filename

對於您的輸入,它將產生:

5.3528e+07

如果文件中的所有數字都在同一行上,請說:

awk '{for(i=1;i<=NF;++i) a+=$i}END{print a}' filename

這是一個Perl版本:

#!/usr/bin/perl

use warnings;
use strict;

my $sum = 0;

while (<DATA>) {
    $sum += $_;
}

print "$sum\n";

__DATA__
2313120
43423423.4
4578362
3213124.124

如果您喜歡這種樣式,這是單線版本:

perl -ne ' $s += $_; END { print "$s\n" } ' datafile

數字為args:

perl -le'$s += $_ for @ARGV; END { print $s }'

STDIN或名為參數的文件上的數字(每行一個):

perl -nle'$s += $_; END { print $s }'

如果您希望結果使用指數表示法printf '%e\\n', $s請使用printf '%e\\n', $s代替print $s

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM