我有一个巨大的文本/csv文件,有6 GB大。 创建时发生错误,并且尚未从字段中删除某些新行字符 (CRLF(,因此某些行被断开
这里有一个简化版本:
例如
Field1<TAB>Field2<TAB>Field3<TAB>Field4
Field1<TAB>Field2<TAB>Field3<TAB>Field4
Field1<TAB>Field2<TAB>Field3
<TAB>Field4
Field1<TAB>Field2<TAB>Field3<TAB>Field4
因此,第 3 行中的字段 3 具有 CR,因此该行已断开
我不想重新创建需要太长时间的CSV文件,但是必须有一种方法可以在正则表达式和工具的帮助下解决此问题。
很容易识别虚线。它们的长度少于 50 个字符。 所有好行的长度都超过 50 个字符
所以我需要一个步骤: * 识别短线 * 删除该行前面的 CRLF * 对整个文件执行此操作
我可以在UltraEdit中创建一个宏并搜索Perl Regex
^.{0,50}$
并更换前面的 CRLF。这有效,但需要太长时间。UltraEdit 中的宏很方便,但速度很慢。
还有其他办法吗?我可以使用带有某些工具的正则表达式来搜索/替换吗?
谢谢 沃尔夫冈
您可以搜索:
^(.{1,50})n(.{1,50}n)
并替换为:
$1$2
演示(适用于 30 个字符或更少的虚线(:https://regex101.com/r/pr5JhW/1