2

2 つのファイルをその列の 1 つで結合しようとしていますが、出力は 2 番目のファイルの列と最初のファイルの列の一部である必要があります。

たとえば、私の最初のファイルは次のとおりです。

subscriberid unsubscribetime unsubscribeip listid statid unsubscribed

私の2番目のファイルは次のとおりです。

listid statid listname ownername owneremail createdatesubscriberid バウンスタイプ バウンス時間 バウンスルール

最初のファイルでは 5 番目、2 番目のファイルでは 2 番目の "statid" 列でそれらを結合する必要があります。その後、最初のファイルから 2 列目、3 列目、6 列目を追加します。出力は次のようになります。

listid statid listname ownername owneremail createdatesubscriberidbouncetypebouncetimebounceruleunsubscribetimeunsubscribeipunsubscribed

構文を理解するのに苦労していますが、次のコマンドを使用していました。

awk 'NR==FNR{a[$5]=$2;next} $2 in a{print $0, a[$5]}' file1 file2

「print $0」と、a[$5]=$2 に設定された 2 番目の列フォーム ファイルの 1 つであるため、file2 列が得られると思いましたが、file2 列のみを出力します。

どこで間違いを犯していますか?file1 の 2 列目、3 列目、6 列目を file2 に結合するにはどうすればよいですか?

ヘルプ/説明は大歓迎です!

この例の両方のファイルには 1 つの行しかありません

4

1 に答える 1