mysql で grep や cut を | したいとき

そんなに使用頻度は高くないかもしれませんが、 pager が便利です。 nopagerでリセットできます。pagerで PAGER をセットできます。

例えば、 pager grep Field |cut -d" " -f4- | tr "\n" ","; とPAGERをセットして describe eip_t_timeline \G で結果を出すと、以下のようにテーブルのFieldをカンマ区切りで出してくれます。

timeline_id,parent_id,owner_id,app_id,external_id,note,timeline_type,params,pinned,num_on_day,create_date,update_date,12 rows in set (0.00 sec)

describeの結果を見たり、insertで使えそうな形にそのまま整形したりできるので、便利だと思いました。なお、help では以下のように記述されています。


nopager (\n) Disable pager, print to stdout. pager (\P) Set PAGER [to_pager]. Print the query results via PAGER

参考: 4.5.1.2 mysql コマンド