小编use*_*065的帖子

awk - 将负数转换为正数,反之亦然

我有一个结构如下的文件:

[05:58:10 08.12.1990] 125.441
[05:58:21 08.12.1990] -2.4158
...
Run Code Online (Sandbox Code Playgroud)

除了最后一个列之外的所有内容都是某种时间码(每个文件都不同),我需要将最后一个数字转换为相反的数字,如下所示:

[05:58:10 08.12.1990] -125.441
[05:58:21 08.12.1990] 2.4158
...
Run Code Online (Sandbox Code Playgroud)

我用awk尝试过,但由于我对awk的了解很差,所以我没有完全实现它.我首先尝试添加负数:

awk '{$NF=" "; NF--; printf $0; NF++; if ($NF ~ /^[0-9].*/){printf "-"; print $NF}}'
Run Code Online (Sandbox Code Playgroud)

但是因为我把最后一栏扔掉了NF--,我无法用NF ++取回它.

任何帮助都将不胜感激.谢谢.

bash awk sed

1
推荐指数
1
解决办法
4915
查看次数

标签 统计

awk ×1

bash ×1

sed ×1