我有可能需要按 1-n 个键排序的大文件。其中一些键可能是数字,而其中一些可能不是。这是一个固定宽度的柱状文件,因此没有分隔符。
有没有用 Unix 排序的好方法?只需一键,就像使用“-n”一样简单。我已经阅读了手册页并简单地搜索了谷歌,但没有找到一个很好的例子。我将如何实现这一目标?
注意:由于文件大小的可能性,我已经排除了 Perl。这将是最后的手段。
最佳答案
请注意:
如果您想主要按字段 3 对文件进行排序,然后按字段 2 对文件进行排序,您需要这样:
sort -k 3,3 -k 2,2 < inputfile
不是这个: sort -k 3 -k 2 < inputfile
它按从字段 3 开头到行尾的字符串对文件进行排序(这可能是唯一的)。
-k, --key=POS1[,POS2] start a key at POS1 (origin 1), end it at POS2
(default end of line)
关于linux - 使用 Unix 排序对多个键进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/357560/