私は2つのテキストファイルを行列として読み込みたいと思います。マトリックスA(またはテキストファイルA)はタブで区切られ、緯度欄、経度欄、名前欄などがあります。行列B(またはテキストファイルB)はタブで区切られ、緯度欄と経度欄が含まれています。私はこれらのそれぞれを読み込み、列に名前を割り当て、AのLatitudeをループしてBで一致するものを探し、一致があればLongitudeを比較し、一致があれば新しい行列C(テキストファイルC)緯度、長い、および名前(列の他の情報)を持つ。私はこれらを読み込んで列の値に名前を付ける方法を知りません。これは可能ですか?Bashを使用して2つのテキストファイルの列を行列として比較します
0
A
答えて
0
あなたは純粋なバッシュ・ソリューションをしたい場合は、これらの線に沿って何かがそれを行うことができます:
file_a=A
file_b=B
file_c=C
while read -r lat_a long_a name_a acol ; do
while read -r lat_b long_b bcol ; do
if [[ $lat_a == "$lat_b" && $long_a == "$long_b" ]] ; then
printf '%s\t%s\t%s\t%s\t%s\n' \
"$lat_a" "$long_a" "$name_a" "$acol" "$bcol"
fi
done <"$file_b"
done <"$file_a" >"$file_c"
1つの余分なファイルのそれぞれの列(最初の1でacol
2つ目でbcol
を想定していること)。実際の列が何であってもそれを処理するように適応する必要があります。
Bashコードは、読み込んだ最初のファイルのすべての行について2番目のファイル全体を再読み込みするので、ファイルが大きい場合は非常に遅くなります。
より良い方法は、join
コマンドを使用することです。例についてはBash join commandを参照してください(しかし、タイトルは誤解を招くことに注意してください:join
はBashに依存しないスタンドアロンプログラムです)。
関連する問題
- 1. bash:2つのファイルを比較して列を追加する
- 2. InStrを使用して2つの列を比較する
- 3. 2つの列を比較し、vbaを使用してペーストをコピーします。
- 4. linqを使用して2つのテキストファイルを比較しますか?
- 5. 2つの列を比較して色の行をGoogleビジュアライゼーションDataTable
- 6. 2つの文字列のBash比較
- 7. VBAとハイライトの違いを使用して2つの列を比較
- 8. IF/Bashコマンドを使用して2行の行数を比較する方法
- 9. フィルタを使用して2つのカスタムディメンションを比較します
- 10. 2つの変数の列を比較し、awkまたはjoinを使用して置換を行います
- 11. PHPを使用した2つのテキストファイルの比較
- 12. 2つのファイル "awk"の2つの列を比較します
- 13. は、2つの列を比較し、thrid
- 14. PHPの配列の2つの列を比較しますか?
- 15. VBAを使用して2つの列の値を比較する
- 16. 2つのテキストファイルを比較して差分を1つに追加します
- 17. 再帰を使用した2つの文字列の比較
- 18. 2つの配列をArrays.containsで比較しようとしています。Java
- 19. 2つの文字列を比較しようとしています
- 20. Solrを使用して2つの列を比較する方法は?
- 21. SSISを使用して2つのMS Excelファイル構造(列)を比較する
- 22. 2つの列をリストと比較してパンダを更新する列
- 23. 2つの配列を比較してカウンタを増やす
- 24. 2つのデータベーステーブルの行を比較して挿入します
- 25. 2つのテキストファイルの文字列配列の比較
- 26. 文字列を含む2つの配列を比較していますか?
- 27. 2つの配列を比較して変更する1
- 28. 2つの配列を参照して比較する
- 29. 2つの列を比較して特定のテキストを強調します
- 30. 文字列比較を使用して時刻を比較しようとしています
サンプル入力ファイルと出力を投稿してください。あなたはいくつのソリューションが存在するかに驚くでしょう。 – karakfa