繁体   English   中英

了解BASH中的sort命令

[英]Understanding sort command in BASH

我正在尝试对名为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-这是sort data的输出

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参数也源自较旧的sort:

此标准的早期版本还允许-数字和+数字选项。 POSIX.1-2008不再指定这些选项,但是在某些实现中可能会出现。

首先,sort使用的从零开始的计数与其他实用程序约定不一致。

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

-k2 -n ,旧版本的sort将-1视为-k 2 ,因此应在ubuntu中使用-k2 -n

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM