20110930015342
CoD MW2
まともな奴なら、朝起きて俺は今日死ぬんだなんて考えはしないだろう。だがそれは贅沢なことだ。皮肉ぬきにな。死に場所を考えるのは一種の自由だよ。自分を見つめ直すいい機会だ。 武器もない、味方もいない、これは利口な奴のすることじゃない。だがこの土地はそんな馬鹿どもを何千年にもわたって見守ってきた。受け入れてもらえるだろう、俺たちも。なぜなら無数の悪夢のなかでも、わざわざ最悪な選択をしたんだからな。 俺たちは大地の息吹のように前進する。唯一の目標を目指して 俺たちは 必ず 奴を殺す。
CoD4 MWからテキトウに遊んでたけれどMW2面白いですね。20110929220052
Cron Cron
頂き物の月末処理をcrontab (vixie-cron) にて妙なことに気づく。下記の処理は28日から31日の間、毎日翌日が1日である事をチェックさせて、該当する場合にコマンドを実行する。28-31のちょっとした工夫がちょっと好み。しかし、
55 23 28-31 * * /usr/bin/test $(date -d '+1 day' '+%_d') -eq 1 && [Command]
とすると
/bin/sh: -c: line 0: unexpected EOF while looking for matching `)' /bin/sh: -c: line 1: syntax error: unexpected end of file
このようなエラーが出てしまう。なんぞ・・・で、正解を書くと
55 23 28-31 * * /usr/bin/test $(date -d '+1 day' '+\%_d') -eq 1 && [Command]
"%"についてはエスケープをしなければならないらしい。Cronにて%を使った何か特殊な書き方があるのだろうか。いや、しかしそれでも''や""で括ったものについては無視をして頂きたいところなのですが・・・何にしても妙なところでエスケープが必要な事に気づき驚く。もしかしてvixie-cronは何か高度な書き方が用意されているのだろうか? ・・・いや、複雑な事するならシェルスクリプトを定期的に回しますよね。
20110904185103
宇宙キすぎだろ・・・
とりあえず最近のお友達の会話についていくべく仮面ライダーフォーゼを見てみる。いろいろと腹筋に悪い番組です。重度の厨二病患者とか、怪人にパチキ(頭突き)かますダサかっこいいライダーとか、予算関連で不安渦巻く使い回しの利かない部分でのCGのロボット登場とか、ドリルは男の浪漫とか、全国のお父さんを恐怖のズンドコに陥れる「おもちゃ40種類予定」しているとか。ひどい、ひどすぎる。もっとやれ。
._人_ | | _人__ | | / ___ \ | |二 |´・ω・`| \ 勝利のポーズ ^^ ^^/  ̄ ̄ ̄ ) / /| | ( /// | ,、______,ノ ̄ ̄) | /  ̄/ / _|_|____//_
20110902013037
文字列解析料理
ひょんなことからProcmailにてメールを振り分けるなど。特定の一覧から愚直にアドレスを遮断できること、ある程度簡単に登録をできること、を目標に速やかに動く。というかレシピをググって使うだけ…なのであったが思わぬ罠が潜んでいたり。
Procmail の紹介とレシピの書き方 よりBLACKLIST=$HOME/.blacklist :0 Wh * ? test -s $BLACKLIST * ? (formail -x From: | fgrep -iqf $BLACKLIST) /dev/null :0 E !hogehoge@example.com
これだけの簡単なお仕事・・・の筈だったが、何故か全ての状況でElse的な条件のの転送が使われてしまう。明らかに真となるようなgrepのオプションや引数を用意しても条件に引っかからない。ところでふと思ったのだけれど作られた言語云々は置いておいて(いずれもCだが) formailも結局は標準入力からのメールのヘッダ抽出つまりはただのテキスト処理であることに気がつく。ので。
BLACKLIST=$HOME/.blacklist :0 Wh * ? test -s $BLACKLIST * ? fgrep -iqf $BLACKLIST /dev/null :0 E !hogehoge@example.com
ですので、私はこうしてみた。はい、条件に引っかかるようになりました。処理速度を考えなければfgrepをgrepにしてもよいかもしれない。というか初めてgrep/egrep/fgrepを意識した気がします。fgrepはやい!
$ cat ~/test.eml | formail -x From: | grep -iqf ~/.blacklist $ echo $? 0
さて、このようなコマンドで試したり、それぞれの結果を確認したりもしたのですが・・・うーん、procmailの中からformailを呼び出す時、もしくは何かが変わるのだろうか。素のログ出力もイマイチ情報少ないですし。あとログといえば.procmailrc、もしくはprocmailに読み込ませるレシピの権限はわりとシビア、オーナーが違っていたり、o+wの状態 (諸事情で書き込み与えてました;) だと動かないしエラーも出さなかったりするので注意。