【问题标题】:Remove CRLF from large text file从大文本文件中删除 CRLF
【发布时间】:2015-04-18 20:12:58
【问题描述】:

我有一个包含几百万行的 1Gig 文件。尝试在每行末尾删除 CRLF。试过 EmEdit、GVIM、Notepad++、UltraEdit。只有 EMEdit 会加载文件,但替换速度慢得令人难以置信。也许每秒 10 行。我的生命中没有足够的岁月来等待这一切完成。

我不是程序员,所以我严格使用 UI 对话框。真的不知道还能做什么。谢谢

【问题讨论】:

标签: replace editor


【解决方案1】:

Textpad 会打开 1gb 的文件,我已经按照你说的做了。但这需要很长时间。

我不知道它与您提到的其他用于 str-replace 的编辑器的速度相比如何。

无论如何,如果您有兴趣,可以从文本板执行以下操作: 由于您仅限于对话框和窗口,因此我的回答仅限于安装 textpad 7,打开它,按 F8 键打开搜索/替换对话框。

搜索 \r\n,替换为空。并检查正则表达式框,否则它会按字面意思告诉你。根据您可能要查找的文件,\r 或\n,或两者兼而有之。然后点击“replace next”几次以确保它可以正常工作,如果对前几个满意,最后点击replace all。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    UltraEdit 可以打开任何大小的任何文件,甚至在只有 2 GB RAM 的机器上打开超过 4 GB 的文件。此类大文件应在 UltraEdit 中打开,而不使用临时文件(修改是永久性的,无法撤消),并配置一些与默认值不同的选项,以便在处理大文件时获得更好的性能,请参阅电源提示 Large file text editor

    但是,对于此替换,根本不需要在 UltraEdit 中打开大文件。

    只需启动 UltraEdit 并从菜单 Search 中打开 Replace in Files

    • 作为搜索字符串输入 ^p 并作为替换字符串无任何内容。

    • 列出的文件默认被选中。

    • 使用目录编辑字段右侧的...按钮选择包含大文件的目录。

    • 在编辑字段在文件/类型中输入文件名或带有通配符的字符串,它只匹配所选目录中的大文件。

    • 确保正则表达式没有被选为^p意味着非正则表达式的DOS/Windows行终止(回车+换行)或UltraEdit正则表达式仅替换。

    • 点击按钮全部替换

    或者检查正则表达式并选择UnixPerl,搜索字符串[\r\n]+会找到任何回车符和任何行-输入文件并将其替换为空。使用 UltraEdit 正则表达式,此类替换的搜索字符串将为 [^r^n]+

    【讨论】:

      【解决方案3】:

      在记事本++中,您是否尝试过以下操作:

      • 将搜索模式设置为\r\n
      • 查找内容 文本框中,输入 \r\n
      • 替换为字段留空
      • 点击全部替换

      或者那是你已经尝试过的?

      【讨论】:

      • OP 声明 Notepad++ 已经尝试过,并且不会加载文件,因为它太大了。 superuser.com/questions/545461/… 这里已经有一个解决方案,用于使用 Notepad ++ 替换 CRLF。
      猜你喜欢
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 2015-07-30
      相关资源
      最近更新 更多