vim之Linux命令用另一个字符串替换HUGE文件中的字符串
98°冷暖
阅读:21
2024-11-01 17:39:52
评论:0
我有一个巨大的文件 (8GB),我想用 UTF-8 替换前 30 行的字符串 LATIN1 什么是最有效的方法?有一种方法可以使用 sed 但在解析前 30 行后退出。
VIM 无法在 3 小时内保存文件。
请您参考如下方法:
问题是,在替换的情况下,所有程序都会制作一个包含替换的文件的副本,以便最终替换原始文件——它们不希望冒着因显而易见的原因丢失原件的风险。
使用 perl,您可以在一行中执行此操作,但这并不会使其更短(好吧,与 vim 相比,它可能更短,因为 vim 将历史记录保存在另一个文件中,而 perl 不会) :
perl -pi -e 's,\bLATIN1\b,UTF-8,g if $. <= 30' thefile
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。