Sudah ada dokumen berikut
<a id="" href=""></a>
<a id="" href=""></a>
<a id="" href=""></a>
Papan keratan sistem mengandungi kandungan berikut:
home
help
variables
Perlu disisipkan pada kedudukan ke-15 setiap baris untuk membentuk format berikut
<a id="" href="">home</a>
<a id="" href="">help</a>
<a id="" href="">variables</a>
如果vim不行,用awk可以嗎?
Jawapan ini tidak bagus,
Masuk dulu
home
help
variables
Kemudian gunakan s
命令
輸入 :%s/^/<a id="" href="">/g
回車
再輸入 :%s#$#</a>#g
Masukkan
Jika saya pergi lebih jauh, saya perlu bermula dari asas ini
<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>
你又如何辦?
再走遠(yuǎn)一點(diǎn)
<a id="home" href="home.html">home</a>
<a id="help" href="help.html">help</a>
<a id="variables" href="variables.html">variables</a>
你如何快速搞定??
小伙看你根骨奇佳,潛力無限,來學(xué)PHP伐。
Alihkan kursor ke kiri atas di hadapan rumah
<C-v>jj$x<ESC>
Alihkan kursor ke sebelum yang pertama </a>
p
Masuk dulu
home
help
variables
Kemudian gunakan s
命令
輸入 :%s/^/<a id="" href="">/g
回車
再輸入 :%s#$#</a>#g
Masukkan
Setelah melihat keperluan anda, saya rasa anda mungkin memerlukan pemalam coretan vim
Untuk keperluan pertama, tidak perlu menggantikannya, ia boleh dicapai seperti ini:
Gambar agak besar Jika tidak boleh dimuatkan, ini alamat asalnya
Jujukan operasi:
Alihkan kursor ke kedudukan "<" "" dalam baris pertama, Ctrl+v
memasuki mod pemilihan lajur, jj$
memilih semua < ; /a>
, kemudian d
Ctrl+v
進(jìn)入列選擇模式,jj$
選中所有的 </a>
,然后 d
光標(biāo)移至 "home" 那一行,Shift + v
進(jìn)入行選擇模式,jj
選中三行,然后 :right
,回車
$
把光標(biāo)移至 "home" 結(jié)尾,按 p
粘貼
gv
選中所有,然后 :left
,回車
光標(biāo)在第一行 "home" 的 "h" 上,Ctrl + v
進(jìn)入列選擇模式,jj$y
復(fù)制三行
gg$
光標(biāo)移至第一行末尾,然后 p
第二個需求同理,剪切一下 id=""
Shift + v
untuk memasuki mod pemilihan baris, jj
untuk memilih tiga baris, dan kemudian :right untuk memulangkan Kereta??
????$
Gerakkan kursor ke hujung "home" dan tekan p
untuk menampal??
????gv
Pilih semua, kemudian :left
dan tekan Enter??
????Kursor berada pada "h" "home" dalam baris pertama, Ctrl + v
memasuki mod pemilihan lajur, jj$y
menyalin tiga baris?? li>
????gg$
Gerakkan kursor ke penghujung baris pertama, kemudian p
??
??Keperluan kedua adalah sama, cuma potong tanda petikan kedua id=""
dan kandungan berikut. Keperluan ketiga, saya tidak dapat memikirkan cara yang lebih baik pada masa ini??
Anda boleh menggunakan Bash+Sed untuk memprosesnya, tetapi ia seperti memprosesnya dalam bahasa pengaturcaraan
#! /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
Catatan: test.txt ialah fail sumber yang akan diproses dan sd.f ialah fail yang dijana oleh program untuk menyimpan arahan pemprosesan sed. sd.in ialah nilai pembolehubah yang disimpan, iaitu rumah, bantuan... tiga nilai
# 光標(biāo)定位到第一行 a 標(biāo)簽
qa # 開始錄制宏
<n>jyw # 復(fù)制要插入的文本
<n>kf>p # 回到對應(yīng)到 a 標(biāo)簽,找到對應(yīng)到位置,粘貼
j0 # 光標(biāo)下移一行
q # 結(jié)束錄制
2@a # 重播宏
# 上面的 <n> 是個數(shù)字,取決于你第一行 a 標(biāo)簽與第一行待插入文本之間的行數(shù)