私が使用しているデータ ベンダーにはバグがあり、修正に時間がかかっています。
以下は、私が受け取った csv ファイルの簡略版です。
# cat new_data20130904.csv
a,001,b,c,d
e,002,f,g,h
e,003,f,g,h
i,004,j,k,l
行 2 と行 3 の列 2 は一意ですが、データは同じです。
行 3 はベンダーによって作成されるべきではありませんでした。バグはベンダーによって認識されており、修正が約束されていますが、すぐには期待できません。
次のようになるように、CSV ファイルを解析して変更する必要があります。
a,001,b,c,d
e,002,f,g,h
i,004,j,k,l
これらの誤って重複する行を削除する防御的なコードを作成したいと思います。
理想的には、Ubuntu/Debian ビルトインを使用したいと思います。
最初は、2 番目のフィールドを削除して uniq を実行するのが良いスタートになると思いました。
# cut -d, -f1,3- new_data20130904.csv | uniq
a,b,c,d
e,f,g,h
i,j,k,l
しかし、今は列 2 を元に戻す方法が思いつかないので、これは役に立たないと思います。