python - 无法在终端中使用 sort 命令对 txt fly 中的数据进行排序
问题描述
使用 python 代码提取数据,然后在 Ubuntu 终端打印,然后在 Ubuntu 终端中使用 sort 命令进行排序后,在 99 等之后出现无法正确排序的数据(如 9)(参见下面的示例)。
我在 ubuntu 终端中使用以下命令-->
python3 pythonfile.py file1.txt | sort
如果在 ubuntu 终端中使用 -g 参数,如下所示,它工作正常-->
python3 pythonfile.py file1.txt | sort -g
但我只想使用排序而不是任何其他参数,如-g(因为我们不允许使用它)。
我只想在 Ubuntu 终端打印数据,然后使用python3 pythonfile.py file1.txt | sort
我不想将数据保存在“list”之类的python代码中,然后对其进行排序,然后在终端中打印。
请提供任何建议如何在 Ubuntu 终端打印后对数据进行排序。
下面是使用python3 pythonfile.py file1.txt | sort
查看最后一行后的示例,也没有正确排序
1. 980 E_4.802337379703114 981 C_-0.5174946578900912
982 E_-0.04914191239380816 983 D_-0.681508079883169
983 E_1.847345390268389 986 B_-0.36321505253912734
986 D_0.8824340792739893 987 A_3.841576990884448
987 D_2.8497812351372 988 B_4.548331946363086
988 C_2.3889731803370955 989 B_2.118431924821179
989 C_-0.07182437212394133 98 C_0.5129253356889238
98 D_2.4529275958484718 990 B_3.6398151615539627
990 C_-1.4798828718232553 990 D_3.249621796699633
991 A_1.9238692496051026 991 D_4.974963953240026
992 C_1.466211779881152 992 D_0.7144100838397083
993 B_1.6590910160220598 994 B_3.840419732762326
996 B_-0.2755606867866667 996 E_1.4732124728343967
997 B_-0.4377938038287166 997 D_0.595186949529743
997 E_-1.7359724002373582 998 D_3.502055570086875
999 A_3.6392659412484214 999 C_-0.35184258330491924
99 C_2.8983151961646527 99 E_-2.6201821295906322
9 C_-0.1336234683083135 9 D_2.8068429946499425
9 E_3.4384330848808187
解决方案
您应该使用数字排序:sort -n
python3 pythonfile.py file1.txt | sort -n
推荐阅读
- python - 匹配可选字符的正则表达式
- uikit - 无法从 CoreML 模型部署中检索 MLModel
- c# - 按最旧和按 id 选择的 LINQ 查询
- java - 选择开始日期和出发日期的 xpath 不适用于 booking.com
- java - 泛型类型作为成员变量的函数
- html - 我正在尝试使用烧瓶和 html 创建一个下拉列表,但是有问题。有人可以帮我吗?
- r - R. Quanteda 软件包。如何过滤 dfm_tfidf 中存在的值?
- ios - 使用 .netrc 文件安装 Mapbox iOS SDK
- mysql - MySql How to Merge two columns in one column Such that second column ouput goes uder first column in multiple rows
- c# - 通过 C# code-403 错误阅读已使用 Microsoft-Graph-Api 创建的在线会议