ファイルを分割するときにawkを使用して重複行を削除する方法

ファイルを分割するときにawkを使用して重複行を削除する方法

5番目の列に基づいてファイルを分割できるように、シェルスクリプトでawkを使用しています。以下のコードは私が使用しているコードと似ています。

awk -F';' 'NR==1{h=$0; next}
!seen[$5]++{f="FILE_"$5".txt";print h > f} 
{print >> f}' input.txt

ただし、各ファイルが生成されたら、重複した行を削除する必要があります。どうすればいいですか?

答え1

ただ!seen[$0]++テストのためです。

あなたのコードは

awk -F';' 'NR==1{h=$0; next}
!seen[$0]++{f="FILE_"$5".txt";print h > f} 
{print >> f}' input.txt

関連情報