awk
入力ファイルの行に対して要求された内容に応じて、追加または減算できるスクリプトをどのように作成できますか?私は1つのスクリプトで加算または減算のみを実行し、どちらかを実行しない方法を見つけました。
たとえば、次のような入力が必要です。
ADD 5,10,20
SUB 30,5,20
次の出力を生成します。
35
-55
これが私がこれまでに書いた内容です:
#!/bin/awk
BEGIN {
FS=","
}
{
for(i=1;i<=NF;i++)
sum+=$i;
print sum; sum=0}
しかし、明らかに加算だけするだけで、すべての数字を得ることはできないようです。
ベストアンサー1
いくつかのヒント:
- フィールド区切り文字としてスペースまたはカンマを使用します。
FS = "[ ,]"
- それからあなたがしたように数字を追加します。
i = 2
- 最初のフィールドがある場合は、
SUB
合計に-1を掛けます。