現在再構築中のかなりモノリシックなデータベースがあり、内容がほぼ一致する 3 つのテーブルを結合したいと考えています。これらのセットはいくつかありますが、すべて 3 つのグループになっています。状況は次のとおりです。
-- すべてのテーブルが ASCII 形式で、スペースで区切られていることに注意してください ---
T1_01= 表 1 =
1 + 'stuff1' + additional content 1 (where additional content only sometimes available)
2 ""
3 ""
....400
T1_02= 表 2 =
1 + "different stuff" + additional content 2
2 ""
3 ""
... 400
T1_03 = 表 3 =
5 cols yet other stuff + 001 + additional content 3
5 cols yet other stuff + 003 ""
5 cols yet other stuff + 007 ""
...
5 cols yet other stuff + 399 some rows are skipped, varies which ones
5 cols yet other stuff + 400
私が欲しいのは、「グループ」ごとに3つのテーブルがあります。これらは便利な方法でグループ化されているためです。つまり、T1_01、T1_02、T1_03はグループ1のテーブル1、2、3になり、T2_01、T2_02、T2_03になります。これを合計で約60回行う必要があり、期待しているテーブル出力は次のとおりです。
T1_0123=
1 + 'stuff1' + additional content 1 1 + "different stuff" + additional content 2 5 cols yet other stuff + 001 + additional content 3
2 + 'stuff1' + additional content 1 2 + "different stuff" + additional content 2 "something to fill in the empty spaces, like a set of -99.9 values"
3 + 'stuff1' + additional content 1 3 + "different stuff" + additional content 2 5 cols yet other stuff + 003 + additional content 3
...
400 ""
今、私は最初の実行を行い、
join -1 1 -2 1 T1_01 T1_02 > T1_012
うまく機能しますが、最初の 2 つと
join -1 1 -2 6 T1_01 T1_03
... 001 は 1 ではないので機能しません
sed something awk $(cat list_of_T01) $(cat list_of_T02) $(cat list_of_T03)
そして、3つのテーブルすべてを一度に実行してから、バッチジョブとして実行するようなことをしたいと思っ
ていました。私はPythonを学んでいるので、これも可能かもしれませんが、確かにAWKの方が簡単ですか? どんな提案でも大歓迎です。