mysql> pager <コマンド>
と指定してやると、出力結果が標準出力ではなくて<コマンド>に切り替えられる。
よく使うのはlessだけど、たまに変なこともしてみたくなる。
mysql> pager cat > /dev/null
SELECTの結果を全てnull deviceに棄てるという暴挙。
前に一度だけ、
`SELECTの結果を全部フェッチさせたいのでLIMITは使えない'
`けど100万行もターミナルに転送されたらウザい'
というシチュエーションがあったので使ってみた。
戻し忘れた時のorz感が大きい。
mysql> pager cat > /tmp/result
SELECTの結果を`mysqlクライアントを起動しているホストの/tmp/result'に書き込む。
LOAD DATA LOCAL INFILEと同じ様な感じ。
おとなしくtee使えって気もするけど、全部ターミナルに表示されるのが嫌な時用。
gzipでもいい感じ。
戻し忘れのorz感はピカイチ。set -o noclobberでも上書き止められなかった。。
リダイレクトを>>にすれば良いのか。
mysql> pager grep --color -i <xxx>
grepの--colorってあまり使う人いない気がする。
マッチした文字列に色つけてくれます。
WHERE col1 LIKE '%xxx%' OR col2 LIKE '%xxx%' OR .. の代わりにざっと確認するのにオススメ。
ただし、Resultの行数と実際に表示される行数が食い違うので、
細かいことよりサクサクやりたい人向けかも。
戻し忘れるとorzというよりイラっとするのが難点。
mysql> pager logger
syslogdにSELECTの結果を送り付けるという意味の判らない暴挙。
mysql> pager md5sum
こっちのサーバと向こうのサーバで、出力結果(=データの中身)が
同じかどうかをざっくり調べるのに使えるかも知れない。
mysql> pager ssh cent02 cat > /dev/pts/0
あろうことか他のノードの仮想コンソールに転送してみたり。
お手製Perlとかにつなげば、夢は無限大。
0 件のコメント :
コメントを投稿