私のMacには2つのファイルがあります。
file1.csv
(約4000ジュール)
1234,yxds
4352,fsfk
8765,fdgj
7874,hffe
9038,fjro
8297,fhjs
そしてfile2.csv
(約50行)
1234,"number","date","OS"
4352,"number","date","OS"
8765,"number","date","OS"
8297,"number","date","OS"
ファイル3は次のようになります。
1234,yxds
4352,fsfk
8765,fdgj
8297,fhjs
file2.csv
だから私は列2に存在する項目だけが欲しい。file1.csv
file1.csv
本質的に、私は他のスクリプトと比較するスクリプトを書くのが好きです。file3.csv
私は今まで成功join
しませんでしたawk
。これまでに試したことは次のとおりです。
join -t, -12 -o 1.1,2.1,2.2 file1.csv file2.csv > file 3.csv
そして
awk 'NR==FNR{a[$1]=$2;next}{if ($1 in a && a[$1] != $2)print;}' FS="|" file1.csv file2.csv > file3.csv
ベストアンサー1
join
ソートに使用されるファイル:
join -o 1.1,1.2 <(sort file1.csv) <(sort file2.csv) > file3.csv
-o 1.1,1.2
出力をfile1.field1
表し、file1.field2
出力:
1234 yxds
4352 fsfk
8297 fhjs
8765 fdgj