0
안녕하세요 저는 텍스트 파일에서 레코드 사이의 거리를 찾으려고합니다. 나는 awk를 사용하여 그것을하려고 노력하고있다. 예시 입력된다 :awk 사이의 거리
1 2 1 4 yes
2 3 2 2 no
1 1 1 5 yes
4 2 4 0 no
5 1 0 1 no
난 수치의 각각 사이의 거리를 찾을. 저는 값을 빼고 답을 제곱함으로써 이것을합니다. 내가 아래의 코드를 시도했지만 모든 거리는 단순히 0입니다. 어떤 도움을 주시면 감사하겠습니다.
BEGIN {recs = 0; fieldnum = 5;}
{
recs++;
for(i=1;i<=NF;i++) {data[recs,i] = $i;}
}
END {
for(r=1;r<=recs;r++) {
for(f=1;f<fieldnum;f++) {
##find distances
for(t=1;t<=recs;t++) {
distance[r,t]+=((data[r,f] - data[t,f])*(data[r,f] - data[t,f]));
}
}
}
for(r=1;r<=recs;r++) {
for(t=1;t<recs;t++) {
##print distances
printf("distance between %d and %d is %d \n",r,t,distance[r,t]);
}
}
}
일부 출력과 _define_ 거리를 포함하십시오. – Steve