【发布时间】:2016-08-21 06:33:39
【问题描述】:
我正在对一个包含近 900 行的文件进行数字排序。对于其他人的命令
tr '\r' '\n' < myfile.txt | sort
或
tr '\r' '\n' < myfile.txt | sort -n
似乎可以解决问题,但对我来说,我没有得到我想要的输出(只有两百行)。我可以看到我的 mac 上所有重复的数字都丢失了,并且我得到了终端错误“tr:非法字节序列”。
我做错了什么,为什么我不知道如何保存文件?它可以与具有空白列的文件有关吗?
文件在这里: dropbox.com/s/umzx64c5ix90l3y/Proteins.txt?dl=0
编辑/澄清:
当我按数字对所有行进行排序后,我需要以某种方式将具有相同数字的行组合起来,以便将新信息添加到上一行。以没有 61 的行为例:
Col 1 2 3 4 5 6 7 8 9 10 11
61 PTS... cyt 1bl.. 0,38 MONOMER homo-trimer FRUC... PER...Bac..
61 PTS... 3
变成:
Col 1 2 3 4 5 6 7 8 9 10 11
61 PTS... cyt 1bl.. 0,38 MONOMER homo-trimer FRUC... PER...Bac.. 3
如果两行中的信息重叠,我需要保留上一行的信息。
谢谢:)
【问题讨论】:
-
我在 Linux、Fedora 24 上试了一下,得到了 1021 行的输出。
-
行号听起来不错。在我的 Mac 上不起作用...
-
@Ditte,你关心哪一行是“上”行吗?与原始文件中的顺序相比,我担心之前的数字排序可能会以任意方式更改具有相同数字的行的顺序。
-
@mike.dld 恐怕我有 :(
标签: bash macos sorting tr numerical