以下是文件内容。我想找出第一个字段的每一行之间的差异。
0.607401 # Tue Mar 27 04:30:01 IST 2018
0.607401 # Tue Mar 27 04:35:02 IST 2018
0.606325 # Tue Mar 27 04:40:02 IST 2018
0.606223 # Tue Mar 27 04:45:01 IST 2018
0.606167 # Tue Mar 27 04:50:02 IST 2018
0.605716 # Tue Mar 27 04:55:01 IST 2018
0.605716 # Tue Mar 27 05:00:01 IST 2018
0.607064 # Tue Mar 27 05:05:01 IST 2018
输出:-
0
-0.001076
-0.000102
.019944
..
..
.001348
代码:
awk '{s=$0;getline;print s-$0;next}' a.txt
但是这并没有按预期工作...... 你能帮我一下吗?
请您参考如下方法:
您可以使用以下awk
代码:
$ awk 'NR==1{save=$1;next}NR>1{printf "%.6f\n",($1-save);save=$1}' file
0.000000
-0.001076
-0.000102
-0.000056
-0.000451
0.000000
0.001348
并通过修改printf
来根据需要格式化输出。 你目前所做的方式会跳过一些行!