按第一列然后第二列对文件进行排序

多瓦

如何通过按第二列的第一个元素排序来处理两列制表符分隔的文本文件(仅当第一列元素相同时)?

例子:

输入文件1

A   1-2
A   6-8
A   3-4
B   7-10
B   5-9

预期输出:文件2

A   1-2
A   3-4
A   6-8
B   5-9
B   7-10
迈克尔·荷马

使用sort-k选项可一次按(多个)列排序:

$ sort -k1,1 -k2n input
A   1-2
A   3-4
A   6-8
B   5-9
B   7-10

-k1,1-k2n依序排列第一列时,先按第一列进行排序,然后按第二¹进行排序,以便按想要的顺序获得输出:仅当第一列元素相同时,才按第二列的第一元素进行排序。

当进行数字排序时,它只会检查该字段,直到它不再是数字为止,这样就可以对它的第一个元素进行比较。

当两个键比较相同时,sort则按词法比较实线,作为最后的比较。例如,在A 1-10VS A 1-2,第一密钥是相同的(A字符串),并以及(均作为数字处理的第二密钥1),所以然后sort比较A 1-10VSA 1-2词法,后者是更大的作为2排序后1GNU的实现sort具有一个-V选项或V键标志来执行版本排序,这类似于词法比较,只是对字符串中的十进制数字序列进行数字比较,因此进行sort -k1,1 -k2V排序A 1-10A 1-2因为10数字大于2


¹从技术上讲,-k2是指该行的一部分,从第二个字段开始(在第一次从非空白过渡到空白之后),直到该行的结尾,但带有n标志,相当于-k2,2n仅作为前导部分构成一个数字被考虑。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

按第一列对2d数组进行排序,然后对第二列进行排序

首先按第一列然后按第二列对2D列表进行排序

按第一列然后第二列对arraylist排序

按第二列和第一列对二维数组进行排序

按python中的第一(或第二,否则)列对文件排序

如何在文本上按第一列进行排序,然后用'sort'按数字进行第二排序?

按第一列对文本文件进行排序并计数重复python

使用Python中的第二列按字母顺序对文本文件进行排序

如何在文件中每4行对第一列进行排序,并在第二列中使用键

MySQL根据第一列对第二列和第三列进行排序

相对于第一列对第二列进行排序

如果第一列显示相等的值,如何使用第二列进行排序

如何按Excel或GSheet中第二列的值对第一列中具有相等值的列表进行排序?

按第三列排序,在Linux中完整保留第一列和第二列?

Excel:在比较第一列中找到匹配的值,然后在第二列中进行比较

Postgresql 按第一列排序,但在第二列最后有空值或零

MySQL:按第二列排序——如果不為空——同時保持第一列順序

如何按升序对第一行然后在第二行和最后在第三行中的数字进行排序但保存列顺序?

在保留一些顺序的同时,按第一列对逗号分隔的文件进行排序

以第一列的降序对数据进行排序,对于相等的值,以升序使用第二列

AutoHotkey 如何在按降序对第一列中的数字进行排序时保持第二列的顺序?

比较第一个文件的第一列和第二个文件的第二列并进行匹配

按第一列时间戳对csv文件进行排序

根据制表符分隔文件中的第二列对文件进行排序

按第一列排序CSV文件,忽略标题

Excel-按列对行进行分组,然后按另一列进行排序

JavaScript排序功能。按第一,然后第二

仅使用标准库,按另一列的分组值中的一列的累积总数对文本文件进行排序?

根据第一列对CSV文件进行排序