以下のように2つのファイルがあります。 1つのファイルは20 GB、もう1つはMBです。
file1.txt (100 MB)
6000000
6000001
6000003
file2.txt (20 gb)
6000000;dgdfgdfgdfgdfgdggeewtwtwtwetewtt
6000003;eryeyyrtuytityiytititityityiytii
6000005;qwrwqrwqrrrrerewrwerewrwrrrewrew
次のように一致するすべてのコンテンツと出力が必要です。
6000000;dgdfgdfgdfgdfgdggeewtwtwtwetewtt
6000003;eryeyyrtuytityiytititityityiytii
今、両方のファイルにソートコマンドを使用し、以下のコマンドをリンクしましたが、出力は出ませんか?ここで何が間違っているのかを助けてください。
join -t';' file1.txt file2.txt >> file3.txt
ベストアンサー1
他の人がすでに述べたように、最初のファイルはあらかじめUNIX行末に変換する必要があります。ただし、ファイル自体を変更する必要はありません。代わりに、すぐに変換を試すことができます。
コマンドラインを次のように変更します。
join -t';' <(dos2unix file1.txt) file2.txt >> file3.txt
両方のファイルがdoで終わる場合は、次のようにします。
join -t';' <(dos2unix file1.txt) <(dos2unix file2.txt) >> file3.txt