ファイルAは、3つの列を次のようました: AccountNumberを、顧客名、バランスはAWKでの二つのファイルを結合 - 異なる位置で結合列
ファイルBは、以下の5列 システムID、AccountNumberを、製品、OpeningDate
を持っています私は2つのファイルを結合するために、以下のAWKコードを使用しています。これは、両方のファイルの合計出力は システムID、AccountNumberを、製品、OpeningDate、CustomerNameの以下のように期待されている
FNR==NR{a[$1]=$0;next}$2 in a{ print $0, a[$1]}
、唯一AWKコードでバランス
要求のヘルプを働いていません。同様の機能はSORTとJOINで利用できますが、AWKソリューションのみを探しています。
File A: +---------------+---------------+----------+ | AccountNumber | CustomerName | Balance | +---------------+---------------+----------+ | 3 | C | 100 | | 4 | A | 200 | | 5 | B | 300 | +---------------+---------------+----------+ File B: +-----------+----------------+----------+--------------+ | SystemID | AccountNumber | Product | OpeningDate | +-----------+----------------+----------+--------------+ | 1 | 6 | RD | 12-05-17 | | 2 | 4 | SB | 15-05-17 | | 3 | 3 | TD | 02-04-17 | | 4 | 5 | SB | 15-01-17 | +-----------+----------------+----------+--------------+ Output after joining: +-----------+----------------+----------+--------------+--------------+---------+ | SystemID | AccountNumber | Product | OpeningDate | CustomerName | Balance | +-----------+----------------+----------+--------------+--------------+---------+ | 2 | 4 | SB | 15-05-17 | A | 200 | | 3 | 3 | TD | 02-04-17 | C | 100 | | 4 | 5 | SB | 15-01-17 | B | 300 | +-----------+----------------+----------+--------------+--------------+---------+
サンプル入力を投稿してください。 'print $ 0、a [$ 1]'ここでもインデックスは '$ 2'でしょうか? – nu11p01n73R
サンプル入力で更新されました。 – user1955215
@ user1955215:なぜこれに 'awk'を使いたいのですか?ファイルは '|'、 '-----------'と '+'の記号で表示されていますか? awkにこれらの文字の制限を解除したいのですか? awkでそのまま出力をフォーマットするのではない – Inian