私は2つの異なるファイルを持っています。これらのファイルの一部は次のとおりです。シェルスクリプトを使用して、特定の場所に最も近い格子点を見つける方法は?
ファイル1:
ifile1.txt
21 10.3 70.32 09
32 11.3 71.43 10
33 15.4 75.00 00
54 17.3 68.03 12
95 19.2 65.02 21
99 20.1 80.10 11
and so on......
Where 1st column is the ID,
2nd column refers to x-axis,
3rd column refers to y-axis,
4th column refers to value
FILE2:
:ifile2.txt
10.10 70.12 10
10.11 73.33 08
11.05 72.40 00
11.30 69.13 15
12.00 64.02 27
12.05 79.20 25
13.10 80.32 10
13.11 75.43 06
14.05 74.00 02
14.20 69.03 15
16.40 65.02 13
16.55 68.10 14
and so on......
Where 1st column refers to x-axis,
2nd column refers to y-axis,
3rd column refers to value
私はその出力(上記の例の場合)となります別のファイルを作成するllikeう
ofile.txt
21 10.10 70.12 10
32 11.05 71.40 10
33 14.05 74.00 02
54 16.55 68.10 14
95 16.55 68.10 14
99 16.55 68.10 14
Where 1st column is the ID (taken from ifile1.txt),
2nd and 3rd column refers to x-axis and y-axis (taken from ifile2.txt which are the nearest to those of ifile1.txt),
4th column refers to corresponding value (taken from ifile2.txt)
私はこれのためのシェルスクリプトを書くことができません。しかし、私のアルゴリズムは:
for each $1 in ifile1.txt,
for each $2 & $3 in ifile1.txt,
find a $2 & $3 in ifile2.txt such that
sqrt{[$2(ifile1.txt)-$2(ifile2.txt)]^2+[$3(ifile1.txt)-$3(ifile2.txt)]^2} is minimum for all $2 & $3 in ifile2.txt
find correcsponding $4 from ifile2.txt
write $1, $2, $3, $4 to ofile.txt
私は非常に提案や助けに感謝します。
これをシェルで書きますか? –
できませんか? – Kay
可能ですが、容易でも効率的でもありません。 –