〜2012年1月下旬〜
forを使えばまあいいんだけど、unzipにはなぜかwildcard処理が内蔵されている。
% unzip '*.zip'
とすれば全zipが展開される。
% ls a.zip b.zip c.zip % unzip *.zip Archive: a.zip caution: filename not matched: b.zip caution: filename not matched: c.zip
quoteしないと引数として渡るので、
unzip a.zip b.zip c.zipと実行したのと同じ。
a.zipの中のb.zipとc.zipを展開せよという意味になりエラーになる。
例の1.1から2.0で四則演算で最大化問題を解いてて、1.8がダブってしまったのでチェックしようぜという話。
実際に勘違いしたのはこんな式なわけだけど、これだと1.8が2つある。
(1.5+1.7)/((2.0/1.8-1.1)*(1.2-1.9/1.6)*(1.3-1.8/1.4))
1.1から順に数えると2.0まで全部あるからやったーと思ったが、
こんなときの定番であるtrしてsortしてuniqしてみると
% echo '(1.5+1.7)/((2.0/1.8-1.1)*(1.2-1.9/1.6)*(1.3-1.8/1.4))' | tr -sc 0-9. '\n' | sort 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.8 1.9 2.0 % echo '(1.5+1.7)/((2.0/1.8-1.1)*(1.2-1.9/1.6)*(1.3-1.8/1.4))' | tr -sc 0-9. '\n' | sort | uniq -d 1.8
ちゃんと見つかる。このtrの目的以外の文字を改行にsqueezeしながら置き換えるというのはよく出てくる。
というわけで、これをちょっと直して126000。まあ、10万越えたからよしとしよう。
自炊してるとconvertで連番処理がいっぱい出てくるが、forを使わなくてもいける場合がある。
% ls *.jpg 001.jpg 002.jpg 003.jpg 004.jpg % convert '00[1-4].jpg' %03d.png % ls *.png 000.png 001.png 002.png 003.png
とpngへ変換できる。%03dのようにprintf形式が使える。
convertコマンドは1回しか起動されないのでforでやるよりは速い。
% ls *.png|wc -l 318 % convert '*.png' -type grayscale -depth 4 d4/%03d.png convert '*.png' -type grayscale -depth 4 d4/%03d.png 19.20s user 0.94s system 211% cpu 9.544 total % bash -c 'for i in *.png;do convert $i -type grayscale -depth 4 d4/$i;done' bash -c 'for i in *.png;do convert $i -type grayscale -depth 4 d4/$i;done' 19.81s user 1.66s system 198% cpu 10.828 total
ただ、%dは0から始まるんだよねえ。1から始めたい場合はdummyの画像データを置くといい。
% rm *.png % convert null: '*.jpg' %03d.png % ls -l *.png -rw-r--r-- 1 eban eban 224 2012-01-24 00:58:35 000.png -rw-r--r-- 1 eban eban 545928 2012-01-24 00:58:35 001.png -rw-r--r-- 1 eban eban 514659 2012-01-24 00:58:35 002.png -rw-r--r-- 1 eban eban 131393 2012-01-24 00:58:35 003.png -rw-r--r-- 1 eban eban 370557 2012-01-24 00:58:35 004.png % rm 000.png
null:というjunk imageを最初に指定することで1ずれる。000.pngは要らないので削除。
もっともImageMagick 6.2以上なら、こんなことしなくても-sceneで連番の初期値を指定できる。
rm *.png % convert '*.jpg' -scene 1 %03d.png % ls -l *.png -rw-r--r-- 1 eban eban 545928 2012-01-24 01:02:53 001.png -rw-r--r-- 1 eban eban 514659 2012-01-24 01:02:53 002.png -rw-r--r-- 1 eban eban 131393 2012-01-24 01:02:53 003.png -rw-r--r-- 1 eban eban 370557 2012-01-24 01:02:53 004.png
あ、そうそう。入力に関してもconvertは自前のwildcard処理を持っているということで。
雪の影響で電車遅れると思ってちょっと早めに出たら、
案の定遅れていた。でも理由はラッシュの影響だった。
みんな早めに集まっちゃったのか?
雪の影響と言えなくもないか。
AからZまでを表示するという単純な問題。
Bashはprintfじゃ面白くないので、
バイナリに埋まっている文字列をgrepで抜き出すというひねくれた方法でやってみた。
viでも
同じことしてる人がいた。
% grep -ao A.\*Z /bin/nc ABCDEFGHIJKLMNOPQRSTUVWXYZ
うちのUbuntuだとncでいけるんだけどねえ。
それにしても これは謎すぎる。これもnnさんか。
いつのまにかちゃんとrvmでgorubyもインストールできるようになっていた。
% rvm use goruby Using /home/eban/.rvm/gems/goruby % ruby -v ruby 2.0.0dev (2012-01-26) [i686-linux] % ruby -e h Hello, world!
ためしにmechanizeをgemでインストールしてみたら問題なくいけたけど、
これを常用してる人はいないだろうな。
予知騒ぎがあったけどでかい地震が来なくてよかった。
で、手回し充電ラジオぐらいあったほうがいいと思ってamazonで調べてるんだけど、
なんか
7700円とかまた値上がりしていた。
今日見たら6500円ぐらいだしなんでそんなに安定しないのかと思ったら、
この商品には新しいモデルがありますと表示されていた。
なるほど。近日発売なわけね。
スペックは変わらないけどスマホ対応が進んでるとのことで、
新しいケーブルが付属するとかそんなとこかな。
結構スキャンしたねえ。たぶん今月はこれで終了。
グインは84巻。もう半分以上スキャンしてしまったのか。
スムーズに進めるにはきれいに解体しないとだめだ。
接着剤が染み込んでたりすると確実にセンサーにひっかかる。
こうなると紙が折れ曲がったり、その接着剤を取り除いたりで確実に余計な時間を取られる。
大胆にカットしたいところだけど、なんかこう少な目にしてしまうんだよなあ。
ScanSnapって一度に6,70枚ほどしかセットできないけど、途中で継ぎ足せることに気づいた。
これで中断なく最後までいけるので、地味に時間短縮になる。
google groupを個人的なバックアップに使うほうが悪いが、
Technical details of permanent failure: Nested groups detected
と言われてそのメールだけ転送できなくなっていることに気づいた。
以前はそんなことなかったんだが。
単純に@googlegroups.comだけで判断するようになったのかもしれない。
Google ChromeにVimiumを入れてみた。
Keyconfigだとjやkのスクロールとか微妙に多めでちょっと不満があった。
Vimiumはスクロールサイズも設定できるし、最初から違和感のない設定だったので問題なし。
なぜかbが設定されてなかったので、まずはmap b scrollFullPageUpとした。