KEYDEF 排序手册页

KEYDEF 排序手册页

我读过了尝试对两个字段进行排序,先是第二个,然后是第一个。我还是很困惑。

man sort页面中:

KEYDEF  is  F[.C][OPTS][,F[.C][OPTS]] for start and stop position

为什么有两个OPTS

这是否意味着你可以OPTS在任何地方写字?或者两者OPTS影响的领域不同?

但关键(例如-k3,5)功能不是作为一个整体吗?

如果两者OPTS相反会发生什么?例如:

sort -t " " -k3n,5nr filename

另一个问题是-k3n,5nr包含两个空格,shell 如何将其转换为数字?

当我们想要比较多个字段时,我们应该使用 multi -k(例如-k3 -k4 -k5)吗?是-k3n,5n错的?

答案1

规格sort更详细地描述这一点:

修饰符'b'的行为应类似于-b选项,但仅适用于字段开始或者字段结束它所附着的。其他修饰符的行为应与相应的选项类似,但仅适用于它们所附加的关键字段;如果指定的话,它们应具有这种效果字段开始,字段结束, 或两者。

因此,您可以在任一位置添加选项,它们适用于整个键。它们是累积的,我认为如果发生冲突,最后一个获胜。

如果要比较多个数字字段,则应将它们指定为单独的键;GNUsort手册

对于绝大多数应用程序来说,将跨越多个字段的键视为数字将不会达到您的预期。

相关内容