我经常使用 awk 来操作 xyz 文本文件(纬度、经度、海拔)。我有一个特定文件,其 z 列中既有正值又有负值,我希望所有这些值均为负值。所以 {$3*-1} 不起作用,因为它将负数反转为正数,我想要所有负数。似乎有可能,但我一直无法弄清楚。
答案1
假设您想要否定所有正值,并保留负值,则条件运算符将起作用:
$3 > 0 ? -1 * $3 : $3
我经常使用 awk 来操作 xyz 文本文件(纬度、经度、海拔)。我有一个特定文件,其 z 列中既有正值又有负值,我希望所有这些值均为负值。所以 {$3*-1} 不起作用,因为它将负数反转为正数,我想要所有负数。似乎有可能,但我一直无法弄清楚。
假设您想要否定所有正值,并保留负值,则条件运算符将起作用:
$3 > 0 ? -1 * $3 : $3