簡體   English   中英

如何使用VIM在文件的行尾添加方括號

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM