awk、bashで1つのファイルにしきい値を出力する必要があります。私は(ここに私しようとしている)状態や印刷thresoldを配置する必要があり別の値に応じて新しい列に特定の値を出力します
file.txtを
device_1 200.33 1000.50
device_2 12.00 2000.11
device_3 400.22 6000.32
device_4 34.11 2000.11
:
cat file.txt | awk '{if ($2 < 50); print $1, $2, $3, $4="97%" };elseif { ($2 > 50); print $1,$2,$3, $4="80%";}'
「$ 2 < 50は、97%を印刷する場合、 else print 80% ":予想出力
device_1 200.33 1000.50 80%
device_2 12.00 2000.11 97%
device_3 400.22 6000.32 80%
device_4 34.11 2000.11 97%
$ 2の列に正しい条件が設定されていません。 if文の適切な構築に関する
セミコロンでifを直ちに終了します。 'if(条件){do stuff} else if(条件){do stuff} else {do stuff}'でなければなりません。 – 123
と約50?それは考慮されていません! – m47730
は列$ 2より低い値でなければなりません。列$ 2の値が50より小さい場合、その条件に基づいてアラームを設定できます。 – Slashlinux