2016-11-09 11 views
0

Cシェルを使用して別々の行に配置された合計数を計算しようとしています。Cシェルの数値の合計を計算する

パイプで特定のコマンドを実行する必要があります。

コマンドの数があり、次の形でcomand.. | comand.. | (comands...) 印刷ライン:

1 
2 
8 
4 
7 

結果が1 + 2 + 8 + 4 + 7 = 22ので、であるべきです。

... | bc | tr "\n" "+" | bcを試しましたが、動作しませんでした。

私はAWKまたは変数を使用できません。それが私が助けを求めている理由です。

答えて

0

実際にCシェル変数は、構文の一部として使用できます。変数を使用せずに、もう一度、パイプ、およびパイプする必要があります。

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

sedコマンドプリペンドプラス秒から始まるすべての行の文字。 xargsは、一連の引数として行を結合します。

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

SED発現は、非数値行をフィルタリングするために改善することができます