我有一个旧脚本,其中包含 的变体sort +0 -1,但man sort在我的系统中甚至没有提到这些选项的存在。
从另一个问题,我被引导到 的维基百科页面sort ,上面写着:
在旧版本的排序中,该
+1选项使程序使用第二列数据(+2第三列等)进行排序。这已被弃用,相反,该-k选项可用于执行相同的操作。
但它没有提到诸如此类的负面论证应-1该做什么。
请注意,在我的“现代”排序(GNU coreutils 8.21)中,sort +0 -1可以工作,而以下所有方法都会失败:sort +0 +1、sort -0 -1和sort -0 +1。
我什至可以添加数字对(例如sort +0 -1 +2,sort +0 -1 +2 -3),但从一个简短的测试用例中我无法准确推断出它们的含义。
编辑:为了完整起见,现在无效的命令例如sort +0 +1相当于sort -k1 -k2.
根据 gnuinfo页面sort:
\n\n\n在较旧的系统上, \xe2\x80\x98sort\xe2\x80\x99 支持过时的原点零语法\n \xe2\x80\x98+POS1 [-POS2]\xe2\x80\x99 用于指定排序键。如果 Y 为\xe2\x80\x980\xe2\x80\x99 或不存在,\n 否则相当于 \xe2\x80\x98sort -k A+1.X+1,B+1.Y\xe2\x80\x99。
\n
因此,sort +0 -1相当于sort -k 1,1在较新的系统中。