私は2つのcsvファイルを持っています。ファイル1には9861行と4列があり、ファイル2には6037行と5列があります。ここにファイルがあります。2つのcsvファイルを比較し、識別子として最初の3つの列を使用して共通線を印刷します
最初の3つの列は、それぞれ年、月、日です。
私はここにいくつかの記事からこのコマンドを見つけましたが、これだけの作品が識別子として1列を使用して3
をファイルに、このファイル1とプリントで同じ識別子とファイルの2の行を取得したい:
awk -F, 'NR==FNR {a[$1]=$0;next}; $1 in a {print a[$1]; print}' file1 file2
私は識別子として最初の3つの列を使用することができるawkまたはより簡単なコマンドを使用してこれを行う方法がありますか?
何か助けていただければ幸いです。
次回は、簡潔でテスト可能なサンプル入力と予想される出力を持つ[mcve]が含まれています。詳細については[ask]を参照してください。大きなファイルへのリンクは通常役に立ちませんし、多くの人がそれらをクリックすることもありません - あなたの例をファイルごとに約半ダースの行(つまり、**最小**)まで下げてください。人々はもっと喜んで見ていきます入力がほとんどの要件のあいまいさを解消すると想定される場合には、期待される出力を含めます。 –
@エドモートン。ヒントの多くのありがとう。私はこれを念頭に置いておきます。 – ichabod