formatação de saída do script shell - mysql

0

Quando eu executo este script

mysql -e "use sentry;
select   DISTINCT
concat(
'CREATE ROLE \'',
r.ROLE_NAME,
'\';')
from
SENTRY_ROLE r
join SENTRY_ROLE_DB_PRIVILEGE_MAP rp on rp.ROLE_ID = r.ROLE_ID
join SENTRY_DB_PRIVILEGE p on p.DB_PRIVILEGE_ID = rp.DB_PRIVILEGE_ID
;" -u mysql_sel -p$Pass

Eu recebo saída de

+---------------------------------------------------------+
| concat(
'CREATE ROLE '',
r.ROLE_NAME,
'';') |
+---------------------------------------------------------+
| CREATE ROLE 'admin_role';                               |

Como posso obter uma saída de apenas

+---------------------------------------------------------+
| CREATE ROLE 'admin_role';                               |
    
por user3508766 10.04.2018 / 20:22

1 resposta

1

Use mysql -N para ignorar nomes de coluna na tabela ASCII de saída. Para usar sua linha de comando como um exemplo:

mysql -N -e "use sentry;
select   DISTINCT
concat(
'CREATE ROLE \'',
r.ROLE_NAME,
'\';')
from
SENTRY_ROLE r
join SENTRY_ROLE_DB_PRIVILEGE_MAP rp on rp.ROLE_ID = r.ROLE_ID
join SENTRY_DB_PRIVILEGE p on p.DB_PRIVILEGE_ID = rp.DB_PRIVILEGE_ID
;" -u mysql_sel -p$Pass
    
por 10.04.2018 / 20:24