mysqlなどで集計をやってるときによくやる作業の無駄を省く
運用をするエンジニアあるあるかなと思うのですが、
集計用SQLで、
(DBが超ハイスペックだったらいいが、そうでもない場合)
テーブルをjoinするとかなり重い時とか条件が複雑で時間がかかったりする時に、
条件が複雑すぎて一旦途中までidを出してその中からさらに絞るーみたいなことがあって、
いつもだいたいsequel proというGUIツールで叩くのですが、
まあid群をだして、結果がこういう風に出るわけですが、
1111
2222
3333
4444
これを
select * from items where id in (1111,2222,3333,4444)
みたいにするために、
1111,2222,3333,4444
に変換するみたいなことがよくあったりします。(わたしだけ?)
いつもは、
改行されてるid群をコピー
↓
vimにはりつける
↓
%s/$/,/g
↓
全選択してJ
↓
閉じてcatしてコピー
みたいなことをやってたんですが、
今日いきなり、これって、めっちゃ無駄じゃないか?とおもって考えたら
shellでできた
改行されてるid群をコピー
↓
pbpaste | sed -e "s/$/,/g" | tr -d '\n' | sed -e "s/,$//g"| pbcopy
するとなんとクリップボードの保存されてて、あとペーストすれば使えた...
pbpasteはクリップボードからデータを取得
sedで文字列置換
trで改行削除
最後の,を削除
pbcopyでクリップボードにデータを貼り付ける