数億行の巨大なファイルがあります。最初の 6 行は次のようになります。ファイル全体が既にソートされています。
bin1 bin2 expected observed
1 1 1 9.83035e-06 1
2 1 2 3.91360e-05 3
3 1 3 1.68648e-05 1
4 1 4 3.95938e-05 1
5 1 5 2.17026e-05 1
6 1 6 9.20637e-05 4
驚くべきことに、期待/観測データ フィールドが bin1:bin2 と bin2:bin1 で同じであるため、ファイルはおそらく必要なサイズの 2 倍の大きさです。つまり、1:5 は 5:1 と同じ値を持ちます。
編集
したがって、行 9581 は次のようになります
.. .. .. .. ..
9581 6 1 9.20637e-05 4
したがって、さらに分割するか、データベースにロードする前に、冗長な行を削除したいと思います。sedまたはawkでこれを行う合理的に効率的な方法はありますか? それとも、これは間違ったアプローチですか?
編集私がやりたいことは...
- awk を使用して各行を調べ、cbin1 > cbin2 の場合はフィールドを交換します。
- myfile を並べ替える | ユニーク
やり方がわからないパート1です。
どうも