gpt4 book ai didi

linux - 具有可变宽度大小的字符串的字母数字排序

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:56 25 4
gpt4 key购买 nike

我卡在了一个小的排序步骤中。我有一个包含 >300K 条目的巨大文件,该文件必须在包含字母数字标识符的特定列上排序为

Rpl12-8
Lrsam1-1
Rpl12-9
Lrsam1-2
Rpl12-10
Lrsam1-5
Rpl12-11
Lrsam1-101
Lrsam2-1
Act-1
Act-100
Act-101
Act-11

问题是可变宽度大小,所以我无法指定第二个键标识符(sort -k 1.8n)。第一个排序是第一个字母,然后是它旁边的数字,然后是“之后的第三个数字” -”。我可以使用定界符字段在“-”之后专门启用排序,这样我就不关心字符串的宽度了吗。

期望的输出是:

Act-1
Act-11
Act-100
Act-101
Lrsam1-1
Lrsam1-2
Lrsam1-5
Lrsam1-101
Lrsam2-1
Rpl12-8
Rpl12-9
Rpl12-10
Rpl12-11

最佳答案

在input.txt中加上以上数据:

sort -t- -k1,1 -k2n input.txt

您可以使用 -t 将字段分隔符更改为 -,然后使用 -k1,1< 仅对第一个字段(作为字符串)排序,最后是带有 -k2n 的第二个字段(作为数字)。

关于linux - 具有可变宽度大小的字符串的字母数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22535695/

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