已經有下面的文件
<a id="" href=""></a>
<a id="" href=""></a>
<a id="" href=""></a>
系統剪貼簿裡面有以下內容:
home
help
variables
需要在每行的第15個位置插入,形成下面的格式
<a id="" href="">home</a>
<a id="" href="">help</a>
<a id="" href="">variables</a>
如果vim不行,用awk可以吗?
這個答覆不行,
先輸入
home
help
variables
接著使用s
指令
輸入:%s/^/<a id="" href="">/g
回車
再輸入:%s#$#</a>#g
回車
如果我進一步,需要從這個基礎上
<a id="" href="">home</a>
<a id="" href="">help</a>
<a id="" href="">variables</a>
形成下面的
<a id="home" href="">home</a>
<a id="help" href="">help</a>
<a id="variables" href="">variables</a>
你又如何办?
再走远一点
<a id="home" href="home.html">home</a>
<a id="help" href="help.html">help</a>
<a id="variables" href="variables.html">variables</a>
你如何快速搞定??
遊標移到左上home前
遊標移到第一個
</a>
之前先輸入
然後使用
s
命令输入
:%s/^/<a id="" href="">/g
回车再输入
:%s#$#</a>#g
回車看了一下你的需求, 覺得你可能需要的是 vim-snippets 插件
遊標移到第一個
</a>
之前:<c-v>jjjp
對於第一個需求,不需要替換,可以這樣實現:
圖片比較大,如果載入不出來,這裡是原地址
操作順序:
遊標移到第一行的 "" 的 "Ctrl+v 进入列选择模式,
jj$
选中所有的</a>
,然后d
遊標移至 "home" 那一行,
Shift + v
进入行选择模式,jj
选中三行,然后:right
,回車$
把光标移至 "home" 结尾,按p
貼gv
选中所有,然后:left
,回車遊標在第一行 "home" 的 "h" 上,
Ctrl + v
进入列选择模式,jj$y
複製三行gg$
光标移至第一行末尾,然后p
第二個需求同理,剪切一下
id=""
第二個引號以及後面內容就行了。第三個需求,暫時想不出更好的方法可以用 Bash+Sed可以處理,不過這樣處理就像是用程式語言處理一樣
備註:test.txt是要處理的來源文件,sd.f是用程式產生的存放sed處理指令的文件。 sd.in是存放的變數值,即home,help…三個值
雷雷