2016-11-09 119 views
0

我試圖計算使用C shell在不同行上定位的總和數字。計算C shell中的數字總和

我必須用特定的命令使用管道來做到這一點。

有一個數量的命令:comand.. | comand.. | (comands...) 印刷線路中的下面的形式:

1 
2 
8 
4 
7 

結果應該是,由於1 + 2 + 8 + 4 + 7 = 22。我試過... | bc | tr "\n" "+" | bc,但它沒有奏效。

我不能使用AWK或變量。這就是我尋求幫助的原因。

回答

0

實際上,您可以使用C shell變量,因爲它們是語法的一部分。如果不使用變量,你需要管和管道再次:

your-command | sed '2~1 s/^/+/' | xargs | bc 

sed命令預規劃加上字符時,從第二個開始的所有行; xargs將這些行作爲一系列參數進行連接。

的SED表達可以改善過濾出非數字線:

'/^[^0-9]\+$/ d; 2~1 s/\([0-9]\+\)/+\1/'