![终端排序命令选项:sort -k1,1](https://linux22.com/image/146946/%E7%BB%88%E7%AB%AF%E6%8E%92%E5%BA%8F%E5%91%BD%E4%BB%A4%E9%80%89%E9%A1%B9%EF%BC%9Asort%20-k1%2C1.png)
cat input.txt | sort -k1,1
我试图弄清楚,1
最后的部分在这个命令中的作用。input.txt
是一个 2 列文件。第一列是一些单词,第二列是数字 1。-k1
告诉它按第一列排序,在本例中按字母顺序排序。第二部分做什么,1
?
答案1
-k1,1
在命令中
sort -k1,1 input.txt
仅使用第一列作为排序键对数据进行排序。第一个1
表示排序键的开头为第 1 列,第二个1
表示与排序键的结尾相同的列。如果您在包含两列的文件上使用-k1
or ,那么两列都会被使用(如果根本不在命令行上使用,-k1,2
情况也会如此)。-k
简而言之,这两个数字指的是排序键的开始列和结束列。
因此, using-k1,1
将仅使用两列中的第一列作为排序键。当两行有相同key,但是,整行将用于确定两行的顺序(除非-k
在第一行之后指定了另一个选项,在这种情况下,将在使用整行之前使用该选项)。