gpt4 book ai didi

Linux 排序 - 求助

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

我被一个问题困了几天。这可能是你的脑袋比我大!

我有一堆 CSV 文件,我希望将它们连接成一个 .csv 文件,并按数字排序。好的,首先遇到的问题是 ID(我想按 ID 排序)名称。例如

sort -f *.csv > output.csv 如果我有像 id001、id002、id010、id100 这样的标准 ID,这将有效但我的 ID 类似于 id1、id2、id10、id100,这使我的排序工作不准确。

好的

sort -t, -V *.csv > output.csv - 这在我的测试机上运行良好(sort --version GNU coreutils 8.5.0),但我工作的现场机器得到了 5.3 .0 排序版本(他们没有在上面实现 -V 语法),我无法更新它!

我觉得自己很菜鸟很倒霉如果您有更好的想法,请提出来。

我的 csv 文件看起来像

cn41    AQ34070YTW  CDEAQ34070YTW   9C:B6:54:08:A3:C6   9C:B6:54:08:A3:C4        
cn42 AQ34070YTY CDEAQ34070YTY 9C:B6:54:08:A4:22 9C:B6:54:08:A4:20
cn43 AQ34070YV1 CDEAQ34070YV1 9C:B6:54:08:9F:0E 9C:B6:54:08:9F:0C
cn44 AQ34070YV3 CDEAQ34070YV3 9C:B6:54:08:A3:7A 9C:B6:54:08:A3:78
cn45 AQ34070YW7 CDEAQ34070YW7 9C:B6:54:08:25:22 9C:B6:54:08:25:20

这实际上是从 csv 复制/粘贴。比方说,这是我的第一个 CSV。另一个看起来像

cn201   AQ34070YTW  CDEAQ34070YTW   9C:B6:54:08:A3:C6   9C:B6:54:08:A3:C4    
cn202 AQ34070YTY CDEAQ34070YTY 9C:B6:54:08:A4:22 9C:B6:54:08:A4:20
cn203 AQ34070YV1 CDEAQ34070YV1 9C:B6:54:08:9F:0E 9C:B6:54:08:9F:0C
cn204 AQ34070YV3 CDEAQ34070YV3 9C:B6:54:08:A3:7A 9C:B6:54:08:A3:78
cn205 AQ34070YW7 CDEAQ34070YW7 9C:B6:54:08:25:22 9C:B6:54:08:25:20

期待您的阅读!

问候

最佳答案

您可以将 -kX.Y 用于从 Y 字符开始的 X 列,以及 -n 对于数字:

sort -t, -k2.3 -n *csv

根据您的示例文件,它会生成:

$ sort -t, -k2.3 -n file
,id1,aaaaaa,bbbbbbbbbb,cccccccccccc,ddddddd
,id2,aaaaaa,bbbbbbbbbb,cccccccccccc,ddddddd
,id10,aaaaaa,bbbbbbbbbb,cccccccccccc,ddddddd
,id40,aaaaaa,bbbbbbbbbb,cccccccccccc,ddddddd
,id101,aaaaaa,bbbbbbbbbb,cccccccccccc,ddddddd
,id201,aaaaaaaaa,bbbbbbbbbb,ccccccccccc,ddddddd

更新

对于您给定的输入,我会这样做:

$ cat *csv | sort -k1.3 -n
cn41 AQ34070YTW CDEAQ34070YTW 9C:B6:54:08:A3:C6 9C:B6:54:08:A3:C4
cn42 AQ34070YTY CDEAQ34070YTY 9C:B6:54:08:A4:22 9C:B6:54:08:A4:20
cn43 AQ34070YV1 CDEAQ34070YV1 9C:B6:54:08:9F:0E 9C:B6:54:08:9F:0C
cn44 AQ34070YV3 CDEAQ34070YV3 9C:B6:54:08:A3:7A 9C:B6:54:08:A3:78
cn45 AQ34070YW7 CDEAQ34070YW7 9C:B6:54:08:25:22 9C:B6:54:08:25:20
cn201 AQ34070YTW CDEAQ34070YTW 9C:B6:54:08:A3:C6 9C:B6:54:08:A3:C4
cn202 AQ34070YTY CDEAQ34070YTY 9C:B6:54:08:A4:22 9C:B6:54:08:A4:20
cn203 AQ34070YV1 CDEAQ34070YV1 9C:B6:54:08:9F:0E 9C:B6:54:08:9F:0C
cn204 AQ34070YV3 CDEAQ34070YV3 9C:B6:54:08:A3:7A 9C:B6:54:08:A3:78
cn205 AQ34070YW7 CDEAQ34070YW7 9C:B6:54:08:25:22 9C:B6:54:08:25:20

关于Linux 排序 - 求助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22378257/

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