閒閒的沒事幹,就隨便做一做。
單純用 regexp 的取代會太難寫,
我是用 sed 。
======> fix_simicolon.sed <======
#!/usr/bin/sed -f
/<p class="calibre_11">/ {
:notmatch
#讀取下一行
N
#若沒有字串 '<br' 就跳到 :notmatch
/<br/ !b notmatch
#取代
s/<br/; <br/
}
========================================================
不太懂你的檔案,
我是把 epub 解壓後,
`OEBPS/Text/*.html` 全都改一遍。
最後再壓縮成 ccged_ed.epub 。
sed 教學:
http://wanggen.myweb.hinet.net/ach3/ach3.html?MywebPageId=2016291456747925903#sed_and_awk
ccged_ed.epub :
http://wikisend.com/download/261386/ccged_ge.epub
這種問題在 linux/un*x 下會變得很簡單。
※ 引述《Nitschke (下載至死)》之銘言:
: Thank thank everyone
: 一本德語字典
: 德語字典 .rtf file http://goo.gl/rhPkiL
: 德語字典 .ePub file http://goo.gl/2Aa3Eb
: 入面 每筆 單字 都被 "段落" 包住
: <p class="calibre_11">一筆單字</p>
: 我想在 每個"段落"入面 的 第一個 "breakline" 前面 插入 分號
: 請問需要下載甚麼
: 1. 工具 及
: 2. 方法 ?
: Find and replace all
: <p class="calibre_11">
: <span class="bold">
: 單字1
: </span>
: 不同的內容
: <br class="calibre1"/> //在第一個breakline前面插入分號
: 字義解釋1
: <br class="calibre1"/> //其餘的 breakline 不作更動
: 字義解釋2
: <br class="calibre1"/> //其餘的 breakline 不作更動
: 字義解釋3
: </p>
: to
: <p class="calibre_11">
: <span class="bold">
: 單字1
: </span>
: 不同的內容
: ;<br class="calibre1"/> //在第一個breakline前面插入分號
: 字義解釋1
: <br class="calibre1"/> //其餘的 breakline 不作更動
: 字義解釋2
: <br class="calibre1"/> //其餘的 breakline 不作更動
: 字義解釋3
: </p>
: ※ 編輯: Nitschke (61.18.110.123), 09/29/2016 09:45:49
: 推 Gold740716: :%s/<br class="calibrel"/;<br class="calibrel/g 10/02 10:25
: → Gold740716: myweb.ncku.edu.tw/~c34031328/upload/ccged_ge.rtf 10/02 10:44
: → Gold740716: http://wikisend.com/download/528924/ccged_ge.rtf 10/02 11:06
: → Hevak: 樓上你這樣s///g轉出去應該所有解釋123前面都會加到分號吧 10/02 12:35
: → Gold740716: 好像是欸,沒看清楚。 10/02 20:17
: ※ 編輯: Nitschke (61.18.110.123), 10/03/2016 08:42:12
: → Nitschke: 提供另一個.ePub file可作修改 http://goo.gl/2Aa3Eb 10/03 08:53
: → Nitschke: 謝謝兩位 近來煩這個 搞到要上精神科 10/03 08:56