那須です。
最近、その時々で調べたtipsをtwitterでつぶやいたりしてます。主に自分の備忘メモとして使っています。後日検索することがあるかといえば。。。今のところは特にないのですが、とはいえ埋もれてしまっていざというときに使えないのは残念なので、こちらにまとめておこうと思います。
私の全てのつぶやきはこちら
Excel
=COUNT(INDEX(1/(MATCH(A1:A39,A1:A39)=ROW(A1:A39)),0)) a1からa39の中でユニークな値の数を算出。理解できないけど、ひとまず動く #Excel
1/MATCH() が未だによくわからないなぁ
perl
$SIG{INT}=”IGNORE”;$p=fork;if($p){wait;}else{$SIG{INT}=sub{$a=1};sleep 30;sleep 5;if($a){die}} SIGINTすると子プロセスの最初のsleepがリセットされる #perl
perl -n -l -e ‘print +(split(/\t/))[2]‘ filename cut使えって話 #unix
perl -n -l -e ‘print +(split(/\t/))[2]‘ filename タブ区切りの3列目だけ抽出 -n の使い道 #perl
[perl] \b 単語境界 $& マッチ変数 正規表現構文
[perl] perl -i.bak -wnl -e ’s/A/B/g; print’ file 上書き編集
[perl] -l 改行 -n 暗黙ループ -p 読み込みループ perl -wpl -e ” file1 file2 イミフ
UNIX
PAGER JLESSCHARSET=japanese /usr/bin/less -isr 日本語文字化けの時man.confにこれ書く。書けなければ man -C ~/man.conf とかする #unix
1:06 PM Dec 25th, 2009 from web
[bash] command 2> /dev/null STDERRの出力を捨てる。
[unix]grep -L 文字列が含まれないファイル一覧を返す GNU grep
[unix]find . -type f -print | xargs ls -lrdt | tail -l xargsの処理できる引数の数を越えると期待通りにいかない
MySQL
[MySQL] INSERT INTO table () VALUES () ON DUPLICATE KEY UPDATE を使ったときに、UPDATE側が作動すると affected rows が 2になる。これにはめられました。
[MySQL] order by で DESCとASCが混在するとインデックス利きません
[mysql]auto_incrementの解除にはalter table changeを使う
affected rowsの件は本当にハメられたましたよ。というかこれMySQLのバグじゃないのかな…replace into が affected rows = 2 になるのは、実質 delete & insert かけるので正しいと思うけど、insert on duplicate はinsert失敗してupdateかかるわけだし、affected rows = 1 が正しい気がする
PHP
[PHP]foreach内ではbreakが効かないらしい。初めて知った
よく考えたら、知っていた気もする。
SVN
[svn] function svnvimdiff() { tmp=[file]; vimdiff $1 `svn cat $1 > $tmp ;ls $tmp;` && rm -f $tmp; } vimdiffで名前付パイプがうまく機能しないとき用
[svn] vimdiff [file] < (svn cat [file]) svnの差分をvimdiffで見る
[svn] svn diff --diff-cmd /usr/bin/diff -x "-b -E" svnでのdiffコマンドの変更とかに
svnvimdiff 重宝してます。
vim
[vim] :s/./&\r/g 行を一文字区切りで改行する。「あ\nい\nう\nえ\nお\n…」のような列を作るのに便利
[vim]:set noro リードオンリモードの解除。sambaとかにある共有ファイル開くときとかデフォルトで-Rしといて必要なときにこれ使うようにしようかなぁ
[vim]:compiler perl “-I”が指定できないのかな…
[vim]:set list 制御文字表示。常時はうざいから確認のときに使う
