gpt4 book ai didi

linux - 了解 BASH 中的排序命令

转载 作者:太空狗 更新时间:2023-10-29 12:33:53 25 4
gpt4 key购买 nike

我正在尝试对一个名为data 的文件进行排序以供学习之用。它在我的教科书中给出。

5 27
2 12
3 33
23 2
-5 11
15 6
14 -9

Q1) 在这种情况下,sort data 的顺序是什么?

Q2) 我在一个文件夹中工作。 sort data 有效,但 sort +1n data 无效。为什么 ? 我完全按照书中的方式输入,但出现此错误 -

sort: cannot read: +1n: No such file or directory

编辑 - 这本书想要跳过第 1 列并按第 2 列排序。这就是为什么可以使用 +n 的原因。

我使用 lubuntu 13 来学习 unix bash 脚本。

PS - 这是排序数据

的输出
14 -9
15 6
2 12
23 2
3 33
-5 11
5 27

最佳答案

sort默认情况下按字典顺序对整行进行排序,因此第一个排序将是

-5 11
14 -9
15 6
2 12
23 2
3 33
5 27

-1 之前(检查每个的 ASCII 代码)

根据posix标准,上述排序是正确的。 GNU SORT(ubuntu 中使用的版本)出现偏差。

+1n争论也源于旧版本的排序:

Earlier versions of this standard also allowed the - number and + number options. These options are no longer specified by POSIX.1-2008 but may be present in some implementations.

First, the zero-based counting used by sort is not consistent with other utility conventions.

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sort.html

将事实放在一起,旧版本的 sort 将 -1 视为 -k 2。 , 所以你应该使用 -k2 -n在 ubuntu 中。

关于linux - 了解 BASH 中的排序命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18243984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com