你能告诉我如何使用单线解决以下问题吗?
目标是从当前行的第一列中减去前一行的第一列的值,并将其放在当前行之前。
有一个文件,如:
$ cat blabla
13:06:27.578195 blablabla
13:06:27.578243 bla bla
13:06:27.578271 bla
13:06:27.578337 zzz
13:06:27.578372 zzz zzz zzz
13:06:27.578372 zzz zzz zzz
13:07:02.224100 aaa bbb ccc
有必要在一行中使用任何命令来获取表单的输出:
0 13:06:27.578195 blablabla
0.000048 13:06:27.578243 bla bla
0.000028 13:06:27.578271 bla
0.000066 13:06:27.578337 zzz
0.000035 13:06:27.578372 zzz zzz zzz
34,645728 13:07:02.224100 aaa bbb ccc
似乎这可以用 来完成awk,但我没有成功。
并非没有缺陷,但仍然是一种方式
请记住,在一天的边界,转变将变成负面的。
例如,使用gnu/awk程序。
我们根据分隔符将第一个单词分成几部分
:,将分钟-小时转换为秒(依次乘以 60)。如果接收到的值小于前一个值,我们假设这是新的一天,并从前一个值中减去一天中的秒数。
从数据集中:
结果是这样的:
要获得单行符,只需删除所有空格(printf 函数参数除外)和换行符: