• 请不要在回答技术问题时复制粘贴 AI 生成的内容
drymonfidelia
V2EX  ›  程序员

要对单个 6.20TB 的超大 csv 文件保持顺序的情况下进行去除重复行,有什么好思路?显然不可能加载进内存

  •  
  •   drymonfidelia · Jun 1, 2024 · 18402 views
    This topic created in 751 days ago, the information mentioned may be changed or developed.
    101 replies    2024-06-08 02:13:43 +08:00
    1  2  
    Keuin
        101
    Keuin  
       Jun 8, 2024
    @Keuin 没有保序,bugfix 一下。假设 csv 有 4 列,把 sort 替换成`sort -u -t, -k1,4 | sort -t, -k5`,把结尾的 uniq 删掉,变成:

    ```shell
    awk '{print $0","NR}' input | sort -u -t, -k1,4 | sort -t, -k5 | sed -E 's/,[0-9]+$//' | uniq
    ```
    不能假设列数的话,受这几个 shell 工具的限制,需要换一个没有出现过的字符做分隔符
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5476 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 08:13 · PVG 16:13 · LAX 01:13 · JFK 04:13
    ♥ Do have faith in what you're doing.