〜2014年10月上旬〜
斎藤さんにgawkのバグがあったと指摘されたので調べてみた。
lengthが配列対応されたのが3.1.5だったが、
どうも対応が不十分で関数内で使うとスカラー扱いになってしまうというバグだった。
3.1.7で修正されていた。
% gawk-3.1.5 'BEGIN{array[1]=1;print xlength(array)} function xlength(a){return length(a)}' gawk-3.1.5: 致命的: スカラーコンテキストで配列 `a (array から)' を使用する試みです % gawk-3.1.6 'BEGIN{array[1]=1;print xlength(array)} function xlength(a){return length(a)}' gawk-3.1.6: 致命的: スカラーコンテキストで配列 `a (array から)' を使用する試みです % gawk-3.1.7 'BEGIN{array[1]=1;print xlength(array)} function xlength(a){return length(a)}' 1
Firefox 29から再読み込みボタンがロケーションバーの中に入った。
それはまあいいんだけど、右側に配置されてしまったのが痛い。
ふだんはChrome使ってるので、
どうしても左側へもうマウスを勢いよく走らせるわけだが、
空振りに終わる。
というわけで、
Classic Theme Restorerを使って檻から出してあげた。
正確には元のボタンは隠して別のボタンを表示しているようだが。
スペースバーを叩いていれば最後まで読めるというreaderが理想だと思うんだけど、
意外に少ない。inoreaderとAOL readerぐらいか。
feedlyはDefault ViewをFull Articlesにしてjで読んで行って、
shift+jで次のfeedへ移動するというリズムでよさげだ。
それよりデフォルトをOldest Firstにする設定がないのが痛い。
本当にないようだ。
というわけで、inoreaderとAOL readerがおすすめ。
特にAOL readerはjだけ押してればいいので特におすすめ。
Q1 lgrepがあれば特になにもすることがないような。
% lgrep きく * b:かきくけこ
Q2 findを使うと簡単。
% find * -type f -printf "%h\n" | uniq -c 3 a 2 b 4 d
Q3 %.1hで1文字だけにすればいい。
% find * -type f -printf "%.1h\n" | uniq -c 5 a 4 c
Q4 なんとなくparallelで。
% parallel 'a=$(date -d{} +%a);mkdir -p $a;mv -v {} $a' ::: * `20140101' -> `Wed/20140101' `20140102' -> `Thu/20140102' `20140103' -> `Fri/20140103' `20140104' -> `Sat/20140104' `20140105' -> `Sun/20140105' `20140106' -> `Mon/20140106' `20140107' -> `Tue/20140107' `20140108' -> `Wed/20140108' `20140109' -> `Thu/20140109' `20140111' -> `Sat/20140111' `20140110' -> `Fri/20140110' `20140112' -> `Sun/20140112' `20140113' -> `Mon/20140113' `20140114' -> `Tue/20140114' `20140115' -> `Wed/20140115' `20140116' -> `Thu/20140116' `20140117' -> `Fri/20140117' `20140118' -> `Sat/20140118' `20140119' -> `Sun/20140119' `20140120' -> `Mon/20140120' `20140121' -> `Tue/20140121' `20140122' -> `Wed/20140122' `20140123' -> `Thu/20140123' `20140124' -> `Fri/20140124' `20140126' -> `Sun/20140126' `20140127' -> `Mon/20140127' `20140125' -> `Sat/20140125' `20140128' -> `Tue/20140128' `20140129' -> `Wed/20140129' `20140130' -> `Thu/20140130' `20140131' -> `Fri/20140131'
Q5 警告がださいな。
% find * -type f -printf "mv -v %p %.1f\n" | sh `a/b01' -> `b/b01' mv: `a/a01' と `a/a01' は同じファイルです `b/a03' -> `a/a03' `b/a02' -> `a/a02' `b/c01' -> `c/c01' `c/a04' -> `a/a04'
Q6 find大好き。
% cp -v $(find * -type f | sort -r | uniq -w1) . `c/20141224' -> `./20141224' `b/20140202' -> `./20140202' `a/20141021' -> `./20141021'
Q7 ここまできたらfindですよ。
% touch a/20130120 b/20131011 c/20130224 % cp -av $(find * -type f -printf "%p\t%Ts\n" | sort -k1.1,1.1 -k2,2nr | uniq -w1 | cut -f1) . `a/20130120' -> `./20130120' `b/20131011' -> `./20131011' `c/20130224' -> `./20130224'
Q8 はまたこんど。
問題のtarballを作ったんで置いとく。
あまり面白い方法は思いつかなった。
% ls -r | awk '!l{l="z"}{print "mv -v",$1,l;l=$0}END{print "mv -v z",$0}' | sh `file5' -> `z' `file4' -> `file5' `file3' -> `file4' `file2' -> `file3' `file1' -> `file2' `z' -> `file1' m:13/Q8 % grep '' * file1:5 file2:1 file3:2 file4:3 file5:4
結局awk頼り。
ScanSnapにはAcrobat 9 Standardがついてきていたが全然使ってなかった。
うわさでClearScanがすごいというので試してみたら、
9からの機能だったようでちゃんと使えた。
OCRの結果を使って同じ字体は統合してサイズを減らすらしい。
たしかに1/4とか1/5になる。減色とかばかばかしくてやってられないくらい。
しかも検索できるようになるわけで、いいことずくめだ。
とはいうものの時間はかかるのが難点。
いいかげん新しいPC買うか。
Windows XPじゃ外に持ち出せないし。
Acrobat前提となるとスキャンも必然的にWindowsになるわけだけど、
文庫本をスキャンするときに横向きにするのは変わらない。
一応ScanSnapのソフトでOCR的な処理して向きを自動で検知的な機能もあるが、
OCRってことは文字がないといけないので限界がある。
AcrobatのClearScanも同等の機能があるというか勝手にやってしまうが、同じ問題がある。
すぐ思いつくのはconvertだが一々1枚ずつ画像へ変換するのも芸がない。そこでpdftkの出番だ。
マニュアル読んでもなんかわかりにくいが、
奇数ページを左90度、偶数ページを右90度に回転して抜き出すには
% pdftk foo.pdf cat oddleft output odd.pdf % pdftk foo.pdf cat evenright output even.pdf
とする。これを交互にmergeするにはshuffleを使えばいい。
% pdftk odd.pdf even.pdf shuffle output foo-fixed.pdf
この一連の流れは1つにまとめられる。
% pdftk foo.pdf shuffle oddleft evenright output foo-fixed.pdf
PM2.5の情報をbotで流しているが、iftttでやたらとエラーになってしまう。
ひょっとしたらYahoo! Pipesのほうがまずいのかもしれないが、
他の普通のRSSもエラーになってるのもあるしなあ。
ログを見てもFeed Trigger Errorなので原因があまりよくわからない。
PDFならそのままSony Readerで読めるので最近はPDFでも読んでるんだけど、
ちょっと困ったことがある。下部にページ番号が出ないのだ。
そのためノンブルまでcropしちゃうとページ番号を確認するのが面倒くさいことになる。
そこで左右は比較的余裕があるので
この辺りにページ番号を埋め込んでしまえばいいんじゃないだろうか。
というわけで、pdftk multistampを調べている。
ほとんどできているが、好きな位置にページ番号を配置するのが難しい。
ぐぐるとpdftexだらけでそっちはあまり手を出したくない。
TeXはあまりいい思い出がないので。
ページ番号を埋め込むのは本家Acrobatでもヘッダとフッタの追加でできるはずだが、
EeePCの解像度が低くておそらく下部にあるボタンが押せない。
そのwindowも小さくならないし、
タブで手探りでやってもヘルプが出てきたりでどうにもならない。
あ、もう一回タブでできた!おお。
しかしSony Readerで読んでみると、
ページ送りに20秒ぐらいかかってしまい使い物にならない。残念。
やっぱpdftkか。