您可以按字典顺序对一列进行排序,同时对下一列进行数字排序吗?

您可以按字典顺序对一列进行排序,同时对下一列进行数字排序吗?

我有两列数据需要排序:第一列(A)需要按字典顺序排序,对于包含相同列 A 字符串的任何行,我需要根据第二列中的内容对它们进行数字排序列(B)。

我在想 'sort -f',但这会使 B 列中的“12”出现在“2”之前。

编辑:不小心输入了列而不是行。

答案1

是的,使用-k定义排序键的选项和n指定数字排序的选项:

$ echo -e "a 13\nb 2\na 2" | sort -k1,1 -k2,2n
a 2
a 13
b 2

相关内容