python - 在同一列上按数字排序,然后按字母数字排序
问题描述
我有非常大的数据要排序
- 第 1 列:先是数字,然后是字母数字
- 然后在第 2 列:数字。
所以,我的最终输出将是这样的:
1 11
1 13
1 15
2 3
2 5
chr2 6
chr2 15
chr15 3
chr15 9
我sort
在unix上使用。但是,无论我尝试什么类型,我都会将chr2放在顶部或底部。以下是我尝试过的一些类型:它无法给我想要的输出:
sort -V -k1,1n -k2n final_merged.txt > merged-sort.txt
sort -k1,1n -k2n final_merged.txt > merged-sort.txt
sort -k1,1h -k2n final_merged.txt > merged-sort.txt
sort -k1,1 -k2n final_merged.txt > merged-sort.txt
后期编辑:任何解决此问题的方法,而不会在使用时使内存过载
- 排序或其他 Unix 实用程序
- Python
谢谢,
解决方案
尝试:
sort -k1,2 -V final_merged.txt
使用您的示例数据运行它会给我:
1 11
1 13
1 15
2 3
2 5
chr2 6
chr2 15
chr15 3
chr15 9
推荐阅读
- python - 烧瓶自动重新加载如何影响性能?
- laravel - 在生产环境中使用 localhost 的电子邮件验证链接
- apache-storm - 如何在storm crawler中使用python bolt?
- java - 为什么在 spring-boot 应用程序中包含 zxing qr 代码时出现 Jasperreport.engine.JRException 错误?
- python-3.x - TypeError:不可散列的类型:绘制多个图表时的“列表”
- openlayers-3 - openlayers3中的色点
- react-native - Expo AuthSession 立即解析为“dismiss”ed
- rust - 在 Rust 中实现迭代器
- python - 在同一行输入多个数字而不使用 Python 中的列表
- java - Textfield1 相同的文本在 Java 中的 Textfield2 上显示