〜2012年9月中旬〜
xmlをフラットなテキストファイルに変換するプログラム。なかなか便利。
RSSだとこんな感じに変換される。
% head -n11 index.rdf <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet href="diary.xsl" type="text/xsl"?> <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:image="http://purl.org/rss/1.0/modules/image/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> % xml2 < index.rdf | head /?xml-stylesheet=href="diary.xsl" type="text/xsl" /rdf:RDF/@xmlns=http://purl.org/rss/1.0/ /rdf:RDF/@xmlns:rdf=https://www.w3.org/1999/02/22-rdf-syntax-ns# /rdf:RDF/@xmlns:content=http://purl.org/rss/1.0/modules/content/ /rdf:RDF/@xmlns:dc=http://purl.org/dc/elements/1.1/ /rdf:RDF/@xmlns:image=http://purl.org/rss/1.0/modules/image/ /rdf:RDF/@xmlns:slash=http://purl.org/rss/1.0/modules/slash/ /rdf:RDF/@xmlns:sy=http://purl.org/rss/1.0/modules/syndication/ /rdf:RDF/@xmlns:taxo=http://purl.org/rss/1.0/modules/taxonomy/ /rdf:RDF/@xmlns:trackback=http://madskills.com/public/xml/rss/module/trackback/
各アイテムのタイトルを取り出したければgrepでできてしまう。
% xml2 < index.rdf | grep '/item/title=' /rdf:RDF/item/title=CygwinのGNU coreutils sortが大文字小文字を無視してしまう /rdf:RDF/item/title=Google ChromeでHTTP Headerを見る /rdf:RDF/item/title=twitterのRSS機能 /rdf:RDF/item/title=nasneが届いた /rdf:RDF/item/title=nasneを発注
2xmlでこの形式を元のxmlに戻すこともできるらしいが、結構あやしい。
他にhtml2やcsv2もある。特にhtml2なんか使い出がある。
まあ厳しいのでいいかげんなHTMLは警告出まくるが。
git cloneせずにgit archiveでtarを掃き出させてtar xで展開すればいいわけだが、
相手がhttpの場合はサーバ側のgitが対応していないとだめ。
古いのが結構残ってたりするが、こればっかりはこちらからはどうしようもない。
Ubuntu 12.04からやたらとXが死ぬとかOSごとお亡くなりになるとか頻繁に起きていたが、
Xfceにしてからまったく起きなくなった。
あと、w3mも画像が表示できかなったけどこれもできるようになった。
workspaceとかショートカットキーとかそのあたりが設定できれば十分だよなあ。
svnで-rでリビジョンを指定してもsvn:externalsの先がHEADだったりすると、
そっちだけ最新を取ってきてしまって気づかないことがあるので注意。
日時を指定したときは伝わってもいい気がするが、
元々-rはリビジョンだからそんな気遣いはないようだ。
gotoのルールにあてはまらないものはるりま検索へ飛ばすようにした。
元のGoogleでruby関連MLを検索したときはg:で。
RewriteEngine on RewriteBase /~eban/ RewriteRule ^$ index.html [L,QSA] RewriteRule ruby-changes:\s*(\d+)\s* http://archive.good-day.net/~w3ml/w3ml.cgi/ruby-changes/msg/$1 [L,QSA] RewriteRule (ruby-\w+):\s*(\d+)\s* http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/$1/$2 [L,QSA] RewriteRule ^#?(\d+) http://redmine.ruby-lang.org/issues/$1 [L,QSA] RewriteRule ^r(\d+) http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=$1 [L,QSA] RewriteRule ruby-(\w+)$ http://blade.nagaokaut.ac.jp/ruby/ruby-$1/index.shtml [L,QSA] RewriteRule ^g:\s*(.*)$ https://www.google.com/search?hl=ja&lr=lang_ja&ie=utf-8&q=$1+site:blade.nagaokaut.ac.jp+inurl:blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ [L,QSA] RewriteRule ^(?:rurema:\s*)?(.+)$ http://rurema.clear-code.com/query:$1/ [L,QSA]
ああ、これってhelp.htmlを用意すればいいんだな。後で考えよう。
グインもかなりスキャンしたので数えてみたら114冊になった。
残りを数えたら16冊。おお、ちゃんと130冊全部ある!
外伝は21冊で残り1冊。これもちゃんと全部ある!
いやー長かったな。今月中にはグインも全部終わりそうだ。
xsaneでウィンドウ-詳細オプションを表示-Dropout color-赤にすれば古い赤茶けた本に有効。
というわけで、グイン全巻スキャン完了した。それとスキャン数も800冊も越えた。
新潮文庫140円。1977年。ものすごく赤茶けてる。考えてみると青空文庫にあるんだよなあ。
まだ裁断してないことだしわざわざスキャンする必要ないか。
古い紙だと2枚重なって流れてきたり、すぐ異常起こして止まってしまう。
異常になるとxsaneを立ち上げなおさないとだめで、
立ち上げなおすとなぜかdpiが50へ戻されるのでいちいち再設定しないといけない。
バグっぽいが仕様なんだろうか。