[英]How add a square bracket to end of line in file using VIM
我有一个超过500万行的文本文件。 我正在使用VIM编辑这些文件。
我的文本在每行中都有一组方括号。 不幸的是,有些行没有右方括号。
some text [ text
some text [ text]
some text [ text]
some text [ text
some text [ text]
我需要我的文字
some text [text]
some text [text]
some text [text]
some text [text]
some text [text]
我想知道如何使用Vim完成上述结果。
:%s/[^\]]$/&]
替代EOL每前最后一个字符是不是]
与自身随后是]
,主要增加了悬架托架那里是没有的。
现在,在您的原始代码段中,左括号与后面的单词隔开一个空格,因此您可能需要进行第二次替换才能清除整个内容:
:%s/\[\s*/[
有很多方法:
<cv>
然后选择所有行,然后按$A]<esc>
:%s/$/]/
:%normal A]
qqA]jq
然后通过500000@q
执行 就个人而言,我会选择换人。
@PeterRincker的解决方案似乎很棒,可以在所选行的末尾添加一个]
。
这是一个建议,在一个命令中向所有非空行中以[ ]
(或以[ ]
开头,后跟空格)的非空行中添加一个]
:
:%s/[^\]]\+ *$/&]/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.