以下是文件的内容。我想找出第一字段的每一行之间的差异。

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设置所需格式的输出。
您当前的操作方式将跳过某些行!!!

关于linux - 我想使用shell脚本查找存储在文件中的2个数字之间的差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49503445/

10-13 04:55