已經有下面的文件
<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>
你如何快速搞定??
迷茫2017-05-16 16:35:48
先輸入
home
help
variables
然後使用 s
命令
输入 :%s/^/<a id="" href="">/g
回车
再输入 :%s#$#</a>#g
回車
PHP中文网2017-05-16 16:35:48
對於第一個需求,不需要替換,可以這樣實現:
圖片比較大,如果載入不出來,這裡是原地址
操作順序:
遊標移到第一行的 "" 的 "<" 位置,Ctrl+v
进入列选择模式,jj$
选中所有的 </a>
,然后 d
遊標移至 "home" 那一行,Shift + v
进入行选择模式,jj
选中三行,然后 :right
,回車
$
把光标移至 "home" 结尾,按 p
貼
gv
选中所有,然后 :left
,回車
遊標在第一行 "home" 的 "h" 上,Ctrl + v
进入列选择模式,jj$y
複製三行
gg$
光标移至第一行末尾,然后 p
第二個需求同理,剪切一下 id=""
第二個引號以及後面內容就行了。第三個需求,暫時想不出更好的方法
PHP中文网2017-05-16 16:35:48
可以用 Bash+Sed可以處理,不過這樣處理就像是用程式語言處理一樣
#! /bin/bash
i=1
rm sd.f
cat sd.in | while read LINE
do
echo "${i}s/>/>${LINE}/" >>sd.f
#echo "${i}s/id=\"/id=\"${LINE}/" >>sd.f #第二次处理
#echo "${i}s/ref=\"/ref=\"${LINE}.html/" >>sd.f #第三次处理
((i++))
done
#cat sd.f
sed -f sd.f test.txt
備註:test.txt是要處理的來源文件,sd.f是用程式產生的存放sed處理指令的文件。 sd.in是存放的變數值,即home,help…三個值