sort -t ';' -k1,1 -k2,2 -k3,3 < unsorted
(仅文件“未排序”中的第 1 列排序正确)
11;13;08
12;23;24
14;16;15
17;09;04
答案1
您的期望是错误的。sort
确实只对整行进行排序。因此,它将首先查看第一列。如果有相同的项目,则将根据第二列对这些项目进行排序。
要对所有这些列进行独立排序,您可能需要先将不同的列提取到单独的文本文件中,每列一个,(awk
可以这样做),然后对这些文件进行排序(sort
),然后将它们重新组合成一个文件(paste
,其中可以使用命令按列格式化输出column
)。