Расстояние между двумя линиями - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть набор точек, для которых мне нужно рассчитать расстояние между линиями. Особенно для диапазона 70:80. Это возможно через awk? или любой другой метод

образец данных

70.9247  24 
73.6148  24  
70.9231  25   
73.6144  25   
70.9216  26   
73.6141  26   
70.9201  27   
73.6138  27   
70.9187  28   
73.6136  28  

Несколько баллов

1) Данные отсортированы по y. Таким образом, каждое значение у имеет 2 балла.

2) Я хочу расстояние между точками x для каждого y. то есть y (новый) = y (n + 1) -y (n)

ожидаемый результат:

2.6901 24
2.6912 25
...........




2.6949  28

image is here

спасибо

1 Ответ

0 голосов
/ 05 сентября 2018

То, что вы ищете, выглядит примерно так:

awk 'NR%2{t=$1;next}{print $1-t,$2}'

Это примерно так:

  • Если номер записи / строки NR является нечетным числом, сохраните значение первого поля в t и перейдите к следующей записи / строке
  • В противном случае выведите ожидаемый результат.

Подобный способ написания:

awk '{if(NR%2){t=$1}else{print $1-t,$2}}'

но это уже не так!

...