【问题标题】:Remove long lines from text file (Notepad++/EditPlus)从文本文件中删除长行 (Notepad++/EditPlus)
【发布时间】:2013-01-30 21:56:05
【问题描述】:

我有一个非常大的文本文件。 此文本文件中的每一行都有一个完整的句子。 现在我必须删除其中超过 x 个字符的每一行/句子,只保留带有

这甚至可能吗?我可以使用 Notepad++/EditPlus 或正则表达式来做到这一点吗?

感谢您的帮助!

【问题讨论】:

  • 这是在windows还是linux中?
  • 目前在 Windows,但如果需要,我可以切换到 Linux

标签: regex file text notepad++ editplus


【解决方案1】:

这是 Notepad++ 的解决方案

在搜索模式中选择“正则表达式”。确保“.matches newline”复选框未选中

查找内容:.{x}.+

替换为:(空)

如果替换后不想留空行:

查找内容:.{x}.+(\r?\n|\n|$)

用您选择的号码替换x

【讨论】:

  • @eliahwinkler:你需要检查正则表达式选项。
  • 我做到了。 EditPlus 在您的字符串中找不到任何内容
  • @eliahwinkler: 用于记事本++
  • 找不到文本:".{200}.+(\r?\n|\n|$)" Notepad++ 和 EditPlus 一样
  • @eliahwinkler:对我来说效果很好。您需要正则表达式模式。并尝试升级到最新版本。
【解决方案2】:

使用 bash:

$ awk '{if (length($0) <= x) print $0; }'  myfyle.txt

x 是长度。它将打印小于x 的行。

请参阅Awk Tutorial and Introduction 了解更多 awk 好东西。

【讨论】:

  • 这似乎不起作用,但赞成票表明它应该。我创建了一个非常大的文件。但是,无论我放入文件的 x 的值是什么,都不会改变。有什么遗漏吗?
【解决方案3】:

这是 Editplus 3.70 版的解决方案。

如果您想保留

  • 查找内容:^.{201,}.*\n
  • 留空替换
  • 检查正则表达式

注意 201 后面的逗号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2011-01-05
    • 2017-09-24
    • 2013-05-13
    • 2013-09-01
    • 2021-05-11
    相关资源
    最近更新 更多