首页 > 解决方案 > 无法在终端中使用 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

标签: pythonsortingubuntuterminal

解决方案


您应该使用数字排序:sort -n

python3 pythonfile.py file1.txt | sort -n


推荐阅读