我想找到使用shell脚本存储在文件中的2个数字之间的区别

时间:2018-03-27 02:24:59

标签: linux bash shell awk sed

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

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

CODE:

awk '{s=$0;getline;print s-$0;next}' a.txt

但是这不能按预期工作...... 你能帮帮我吗?

1 个答案:

答案 0 :(得分:-1)

您可以使用以下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来格式化输出。 你目前的做法将跳过一些线!