Bashでは、最初のcsvファイル、2番目のcsvファイルのすべての行、および3番目のcsvファイルに回答を要求する必要があります。

Bashでは、最初のcsvファイル、2番目のcsvファイルのすべての行、および3番目のcsvファイルに回答を要求する必要があります。

Bashでは、最初のcsvファイル、2番目のcsvファイルのすべての行、3番目のcsvファイルの回答を要求する必要があります。

最初のファイル。例えばaaa.csv:

aaa
bbb
aaa
aaa
ccc
fff
aaa

2番目のファイルは次のとおりですbbb.csv

aaa;111
bbb;222
ccc;333
ddd;444
eee;555
ggg;666

3番目のファイルは次のとおりですccc.csv

aaa;111
bbb;222
aaa;111
aaa;111
ccc;333
fff;
aaa;111

可能ですか?この間に間違った言葉や何かがあるかもしれません。 thenを使用すると、cat bbb.csv | grep -f aaa.csv > ccc.csv111にaaaが表示されたときにのみ部分的に共通であると答えます。aaa.csv

ベストアンサー1

注釈の別の可能なアプローチは、変更されたawkファイル順序を使用することができる。

awk -F';' 'FNR == NR { m[$1] = $2; next; } { if ($1 in m) { print $1 ";" m[$1]; } else { print $1 ";FALSE"; } }' bbb aaa

まず、bbbファイルを読み取り、最初の列のキー値を含む配列に値を保存し、aaaファイルを読み取り、キーが配列にあることを確認し、それに応じて印刷します。
結果:

aaa;111
bbb;222
aaa;111
aaa;111
ccc;333
fff;FALSE
aaa;111

おすすめ記事