私はawkを使用してファイル内のいくつかのフィールドを再フォーマットし、awk関数を使用して1つのフィールド値が負の場合に修正しています。これが私のawkコマンドです:
awk 'function fix_neg(value) {\
if(value < 0)\
return '$new_value'\
else\
return value\
} END { print $2,$1,fix_neg($3) }' input_file.txt
ここで、$new_valueはこの呼び出しの前に設定されました。これがinput_file.txtの再フォーマットされた最後の行(複数行のデータを含む)のみを返す理由がわかりません。
ご協力いただきありがとうございます。