[英]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.