我有一个包含大约 1 亿行的庞大文件。前 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 相同,即 1:5 与 5:1 具有相同的值。
编辑
所以第 9581 行看起来像这样
.. .. .. .. ..
9581 6 1 9.20637e-05 4
因此,我想在进一步拆分或加载到数据库之前删除多余的行。使用 sed 或 awk 是否有合理有效的方法来做到这一点?或者这是错误的方法?
编辑我想我想做的是......
- 使用 awk 遍历每一行,如果 cbin1 > cbin2 交换字段。
- 排序我的文件 | 独特的
这是我不知道该怎么做的第 1 部分。
谢谢