我有一个非常大的文本文件。此文本文件中的每一行都有一个完整的句子。现在我必须删除包含超过 x 个字符的每一行/句子,只保留带有 <=x 个字符的行。
这可能吗?我可以使用记事本++/EditPlus或正则表达式来执行此操作吗?
感谢您的帮助!
这是记事本++的解决方案
在搜索模式下选择"正则表达式"。确保" .匹配换行符"复选框未选中。
查找内容: .{x}.+
替换为:(空)
如果不想在替换后留下空行:
查找内容: .{x}.+(r?n|n|$)
将x
替换为您选择的数字。
使用 bash:
$ awk '{if (length($0) <= x) print $0; }' myfyle.txt
其中x
是长度。它将打印小于 x
的行。
请参阅 Awk 教程和简介 了解更多 awk 好东西。
这是 Editplus 3.70 版的解决方案。
如果要保留 <= 200 的行,以下内容将删除任何 201 个字符或更多的行。
- 查找内容: ^.{201,}.*
- 将替换为空白
- 检查正则表达式
请注意 201 后面的逗号。