linux - 使用 Unix 排序对多个键进行排序

我有可能需要按 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)

https://stackoverflow.com/questions/357560/

相关文章:

python - 在 Python 中清除终端

python - 在多个上下文管理器上创建一个 "with" block ?

windows - 互斥锁和临界区有什么区别?

linux - 如何使 rpm 自动安装依赖项

linux - 获取图像尺寸(不是文件大小)的快速方法

python - 修改刻度标签文本

python - 使用代码存储库时如何引用资源的相对路径

python - 不可变与可变类型

python - 如何保持 Python 脚本输出窗口打开?

c - GCC 的 __builtin_expect 在 if else 语句中的优势是什么?