в качестве входных данных для расчета расстояния у меня есть файл (inp.txt), содержащий координаты:
9.911 -2.781 30.097 7.768 -4.335 29.094
11.811 -1.900 30.082 13.294 -1.993 27.440
6.947 -0.742 31.786 6.390 -2.976 30.089
8.960 -2.090 32.359 11.764 1.604 25.408
9.156 -3.314 29.815 11.764 1.604 25.408
Первые три столбца — это координаты точки (скажем, A), а последние три — координаты второй точки (скажем, B). Я хочу рассчитать расстояние между A и B и всеми остальными точками, расположенными таким же образом в следующих строках. Затем я ожидаю, что в этом случае на выходе будет 5 значений расстояния.
Мой код awk, который я использую для этой цели:
awk '{x1=$1;y1=$2;z1=$3} {x2=$4;y2=$5;z2=$6} END{print sqrt((x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2)}' inp.txt >> out.txt
При входе получаю ошибку:
awk: fatal: cannot open file `{x1=$1;y1=$2;z1=$3} {x2=$4;y2=$5;z2=$6} END{print sqrt((x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2)}' for reading (No such file or directory)
Я безуспешно пытался понять, почему я получаю эту ошибку. Спасибо за любую помощь.