〜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か。