8
votes

Ligne de commande MySQL à la sortie verticale

J'aimerais obtenir le résultat d'une requête MySQL avec une sortie verticale. Mon problème lors de l'utilisation de -vertical (ou G) est les lignes étoilées.

    $mysql -N -e 'select filed1, field2 from db.tlb\G'
    *************************** 1. row ***************************
    value1_field1
    value1_field2
    *************************** 2. row ***************************
    value2_field1
    value2_field2
    ...


2 commentaires

Je pense que votre méthode peut être la meilleure - je ne crois pas qu'il existe une option pour supprimer les lignes de la ligne. D'autres possibilités qui sont encore plus complexes seraient de sélectionner vos colonnes comme une concaténation tokénisée puis de tuyer dans sed pour convertir les jetons en pauses de la ligne. Si ce que vous avez travaille pour vous, je dirais que je vais rester avec elle.


+1 à vous-même et de moi: D


3 Réponses :


0
votes

Je ne suis pas sûr que ce soit une solution bonne , mais si vous utilisez explicitement Egrep est ennuyeux, vous pouvez définir une fonction shell pour lancer mysql avec le pager . En supposant que vous utilisez un bash (ou compatible): xxx

comme je l'ai déjà dit, ce n'est pas une solution parfaite depuis Egrep Supprimera aveuglément de la sortie toute "ligne étoile" - non seulement celle d'un ego ( \ g ).


0 commentaires

0
votes

Essayez ceci (mais je ne peux pas imaginer pourquoi vous avez besoin d'une telle sortie) xxx


0 commentaires

0
votes

première option

serait de changer le pager mysql comme: p>

test.sh strong> p>

$ mysql -u root -p -h 127.0.0.1 somedatabase
enter password:
mysql> pager grep -Ev '(^\*.*$)|(^$)' | less -Sin


0 commentaires