我正在使用 awk 重新格式化文件中的某些字段,并使用 awk 函数来修复一个字段值(如果它是负数)。这是我的 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 的最后一行(其中包含多行数据)。
谢谢你的帮助。