2017年09月 / 08月≪ 123456789101112131415161718192021222324252627282930≫10月

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Edit  |  --:--  |  スポンサー広告  |  Top↑

2010.02.23 (Tue)

単なるメモ

最近WEB小説を勝手に青空文庫化してiPhoneのi文庫で読んでおります。
i文庫はページめくりがやたら軽快で、紙の本より読む気になるという驚きの爽快感が実現されています。
爽快感の感じ方は個人差はあると思いますが、電子ブックとして快挙だと思います。

最初はWEB小説をブラウザからコピペしてTXTファイルを作っていました。
個人サイトではフォーマットはまちまちなので仕方がなかったのですが、「Arcadia」や「小説家になろう」という大規模なサイトを巡回するようになると、それだけでは我慢できなくなりそれなりに凝ったことを始めています。

とはいえ、今回は単なる自分用のメモです。

【More・・・】

■ perl のsed風使用について

コマンドラインから使う場合

sed -e 's/aaa/bbb/g' inputfile

perl -pe 's/aaa/bbb/g' inputfile


スクリプトファイルを使用する場合

sed -f scriptfile inputfile

perl -p scriptfile inputfile



■ スクリプトファイルの違い

perlとsedの正規表現の違いがあり、総じてperlのほうが強力
sedでは改行コードを直接置換することが出来ないが、perlには可能

s/\x0D\x0A/<br>/g;
s/\x0D/<br>/g;
s/\x0A/<br>/g;

このようにファイルに外出しした場合、各コマンドの最後に「;」をつける必要がある。
\nを使用しない理由はテキストがWin由来だったりMac由来だったり改行コードが異なる場合、取りこぼすため
s/\x0D\x0A|\x0D|\x0A/<br>/g;
と記述することも出来るが、実行速度が遅いらしい。
この辺りの話はPerlメモを参考にしました。



■ブロックマッチングやマッチング回数の指定も可能。
以下は<br>が4回以上続く場合、かわりに<br>を3つ出力するもの。なかなかに器用な指定が可能。

$ echo '<br><br><BR><br><br>' | perl -pe 's/(<br>){4,}/<br><br><br>/gi'
<br><br><br>

(<br>)がブロック指定
{4,}は繰り返しの指定で{最小,最大}。
「,」を書かず{4}とすれば4回のみマッチするし、このように最大を省略していると4回以上という意味になる。

また末尾のiオプションは大文字小文字無視の指定。
<br>でも<BR>でもマッチする。
sedでもIとして使えるらしい。ただしGNUの拡張仕様。



何の話?ってことになると思いますが、横書きのWEB小説ではかなり改行が多用されることがあり、一行ごとに改行が入っていたり、iPhoneの画面サイズで見ると数ページにわたって改行が続いていたりということが頻繁にあります。
なので一端改行コードを<br>にして連結し、連続した<br>を削減したあと、再び改行コードにしようかなぁというメモです。
秀丸エディタのマクロでもいいんですけど。

メモのファイルを適当にアップしたら、読める文章になるまでかえって手間がかかってしまった。
スポンサーサイト
Edit  |  15:53  |  日記  |  TB(0)  |  CM(0)  |  Top↑

*Comment

コメントを投稿する

URL
COMMENT
PASS  編集・削除するのに必要
SECRET  管理者だけにコメントを表示
 

*Trackback

この記事のトラックバックURL

http://merbie.blog57.fc2.com/tb.php/531-962fec5b

この記事にトラックバックする(FC2ブログユーザー)
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

 | BLOGTOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。