2つのCSVファイルがあります。
最初のファイル:
"ACCOUNT_CODE","FK_CLIENT_CODE","ENVIRONMENT","HHID"
"13445319","V8571485","SAT","IT00000000000005676070"
"10580347","V6559553","SAT","IT00000000000003952833"
"22124274","V11943127","DTT","IT00000000000008535651"
"11896497","V7524852","SAT","IT00000000000005652668"
2番目のファイル:
IT00000000000005676070
IT00000000000000060265
IT00000000000008535651
IT00000000000000060267
どちらのファイルにも数百万行があります。最初のファイルの値(HHIDという最後の列の値)を2番目のファイルの値と一致させたいと思います。値がソートされておらず、各HHIDに対して2番目のファイル全体で検索を実行したいと思います。
値が見つからない場合は、2番目のファイルにない値を使用して3番目のファイルが生成されます。新しいファイルの例:
3番目のファイル:
"ACCOUNT_CODE","FK_CLIENT_CODE","ENVIRONMENT","HHID"
"10580347","V6559553","SAT","IT00000000000003952833"
"11896497","V7524852","SAT","IT00000000000005652668"
私を助けてくれますか?
答え1
$ awk 'NR==FNR{a[$1];next} !($8 in a)' file2 FS='"' file1
"ACCOUNT_CODE","FK_CLIENT_CODE","ENVIRONMENT","HHID"
"10580347","V6559553","SAT","IT00000000000003952833"
"11896497","V7524852","SAT","IT00000000000005652668"