【发布时间】:2012-06-19 13:54:32
【问题描述】:
我有一个如下所示的文件:
80,1p21
81,19q13
82,6p12.3
83,Xp11.22
84,3pter-q21
86,3q26.33
87,14q24.1-q24.2|14q24|14q22-q24
88,1q42-q43
89,11q13.1
90,2q23-q24
91,12q13
92,2q22.3
93,3p22
94,12q11-q14
95,3p21.1
97,14q24.3
98,2p16.2
我想根据第二列对它们进行排序。第一列也应该相应改变。当您在 Perl 中使用“排序”命令时,它不会这样做,因为它说它不是数字。有没有办法在 Perl 中对事物进行 alpha 数字排序?
【问题讨论】:
-
另外,如果您已经将它们放在一个文件中,您可以尝试使用 unix 排序命令。对文件进行排序的 perl 脚本太过分了。
-
为什么 RTFM 获得了四票。如果您不想回答初学者的问题,那就不要回答它们。指出文档并没有错,但要为链接提供一些价值,就像 Dave Cross 在下面所做的那样。
-
这个问题在这里被问了很多次。文档很好地涵盖了它。现在让我问你:你不是说忽略搜索对初学者来说是正确的事情吗?在我看来,事实恰恰相反:对于初学者来说,尽快开始使用搜索更为重要。
-
@lanZZ:perl 的排序文档没有多大帮助。如果我使用词法排序,它会将 1p21 19q13 6p12.3 11q13.1 2q23-q24 排序为 11q13.1 19q13 1p21 2q23-q24 6p12.3。这不是我需要的。
-
@Ianzz:所以你是执行“提出重要问题或 RTFM”政策的 SO 警察?使用 SO 来教授更多内容,而不是“沉浸在 5000 页的 perl 文档中”。教,“这是在 5000 页的文档中找到它的方法”,“在为您的问题选择正确答案时要考虑的其他相关事项”。教他们钓鱼技巧,不要只是告诉他们去钓鱼。
标签: perl sorting alphanumeric