gpt4 book ai didi

regex - 为什么这个 vim 正则表达式如此昂贵 : s/\n/\\n/g

转载 作者:行者123 更新时间:2023-12-01 03:12:19 26 4
gpt4 key购买 nike

在足够大的文件(比如 80,000+ 行和大约 500k+)上尝试这个会在我的服务器和我的本地 Mac 上崩溃或停止最终。

我也在命令行中尝试过,结果相同:

vim -es -c '%s/\n/\\n/g' -c wq $file

此外,问题似乎出在选择( \n )而不是替换( \\n )上。

对于较大的文件,我当然可以 split他们和 cat完成后将它们返回,但在我的情况下,分割点不能任意,必须为每个分割手动调整。

我很感激还有其他方法可以做到这一点——sed 等——但我在那里有类似和额外的问题,我希望能够用 vim 来做到这一点。

最佳答案

我正在添加我的评论作为答案:

文本编辑器通常不喜欢“巨大的”行(这是替换后的结果)。

为了测试这是否是因为“大线”而不是替换本身,我做了这个测试:

我用脚本创建了一个简单的 ~500KB 文件。没有换行符,只有一行。然后我尝试用vim加载文件。结果?我不得不杀了它:-)。

但是,如果我不时在同一个脚本上写一些新行,则打开文件没有问题。

此外,您可以尝试以下一件事:在 vim 上,替换 \n来自 \n\n如果速度很快,那么这也应该确认“大线”问题。

关于regex - 为什么这个 vim 正则表达式如此昂贵 : s/\n/\\n/g,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51162670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com