
次の 2 つのファイルがあります。
ファイル1:
-54.005 -67.405 0.1 -54.05 -68.7833 0.2 -54.05 -68.7333 0.3
ファイル2:
-54.005 -67.4050 70 12.7 -54.05 -68.7833167 12.5 -54.05 -68.7333 205 12.6
次の出力とともに、列3をfile1
列4に追加するファイルが必要です。file2
-54.005 -67.4050 70 12.8 -54.05 -68.7833167 12.7 -54.05 -68.7333 205 12.9
次のコマンドを試してみました。
cat file1 | awk '{n=$3; getline <"file2"; print "" $1,$2,$3,n+$4}' > output.txt
しかし、うまくいかず、このサイトでこのタイプの答えが見つかりませんでした。
答え1
2つのファイルを1つにマージするツールがあります。テキストファイルを1つにまとめる
paste file1 file2 | awk '{ print $3 + $13; }'
別の列を追加します。ただし、ファイル2の列は$ 10で始まります。
答え2
awkでNRとFNRを使用できます。
awk 'FNR==NR { _a[FNR]=$3;} NR!=FNR { $4 += _a[FNR]; print; }' file1 file2