formatação de consulta do mysql no email

0

Eu tenho a seguinte consulta no shell script:

mysql -e "use hive; select DISTINCT TAB.DB_NAME, TAB.TABLE_NAME from 
TABLE_PARAMS INNER JOIN TAB ON TABLE_PARAMS.TBL_ID = TAB.TBL_ID 
where PARAM_KEY = 'numRows'" -u root -p$Pass

Se eu executar isso na linha de comando, a formatação é ótima. No entanto, quando eu enviar e-mail os resultados usando

| mail -s "Missing compute stats" [email protected] >/dev/null 2>&1

É todo o lugar. Existe uma maneira fácil de formatar os resultados no email? O que eu tentei: colocando \ G no final de uma consulta que funciona bem, mas eu prefiro mantê-lo no formato vertical.

Obrigado

EDIT: Aqui está o resultado no meu e-mail

DB_NAME TABLE_NAME
customer_touch  tbldatelookup
customer_touch_archive_bb   bb_comm_camphist_ltd
customer_touch_archive_bb   bb_comm_camphist033114
customer_touch_archive_bb   bb_ed_camphist
customer_touch_archive_bb   camphist
customer_touch_archive_bb   cd_drop

O que eu quero ver:

+---------------------------------+-----------------------------+
| DB_NAME                         | TABLE_NAME                  |
+---------------------------------+-----------------------------+
| customer_touch                  | tbldatelookup               |
| customer_touch_archive_bb       | bb_comm_chist_ltd           |
| customer_touch_archive_bb       | st_cla_sa                   |
| customer_touch_archive_bb       | st_cla_a                    |
| customer_touchpoint_archive_stg | tier_r_prod_h27             |
+---------------------------------+-----------------------------+
    
por user3508766 12.10.2017 / 19:20

1 resposta

1

Use --table ou -t com o cliente mysql :

mysql -t -D hive -u root -p"$Pass" \
    -e "SELECT DISTINCT TAB.DB_NAME, TAB.TABLE_NAME
        FROM TABLE_PARAMS
        INNER JOIN TAB ON TABLE_PARAMS.TBL_ID = TAB.TBL_ID 
        WHERE PARAM_KEY = 'numRows'" |
mail -s etc. etc.

(A propósito, esse SQL não é um pouco complicado? De onde vem o TAB ?)

Do manual:

--table, -t

Display output in table format. This is the default for interactive use, but can be used to produce table output in batch mode.

    
por 12.10.2017 / 20:18