首页 > 解决方案 > 如何使用 PHP 对大型文本文件进行排序并搜索重复项?

问题描述

我有一个相对较大的文本文件(2,46 GB)。它的每一行都包含一个短语。我必须对其进行排序,并确保它在每行的开头或结尾不包含重复项和不必要的空格。

我找到了排序问题的解决方案。我使用 Sublime Text 3,它有一个排序功能。

我使用 phptrim来切断空格,但我无法取得任何进一步的进展。

标签: php

解决方案


在不处于 CLI 模式 (?) 时对 2.5GB 文件进行排序,您可能会耗尽内存或执行时间。鉴于您将 Sublime 视为非 PHP 解决方案,我将向您提出我的非 PHP 建议作为出发点。请指定您的目标以获得更具体的答案。在 Linux(类似)系统上,您可以执行以下操作:

awk '{$1=$1};1' file.txt | sort > output.txt

awk命令将修剪任何前导和尾随空格。然后将修剪后的输出通过管道传输到sort,这将为您排序。最终结果输出到output.txt.


推荐阅读