[英]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.