IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Linux bash et do loop d'une colonne


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 326
    Par défaut Linux bash et do loop d'une colonne
    bonjour,

    je récupere les lignes dans une base postgresql grâce à un bash linux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #!/bin/bash
    export PGPASSWORD='monmotdepasse'
     
    for i in $(psql -h 00.00.00.00 -p 5432 -U utilisateur -w -d mabase -c "SELECT "'*'"  FROM  matable limit 100"); do
     
        echo $i
     
    done
    le probleme c'est que ca affiche toutes les colonnes. Je ne veux qu'afficher la valeur des lignes que sur une colonne
    et je veux garder le * de ma requête.


    comme changer echo $i ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Bonjour,

    d'abord, on ne lit pas une substitution de commande ($(..)) dans une boucle for, qui lit les données mot à mot, mais une boucle while qui traite des lignes.

    mais, pourquoi ne pas demander à sql de n'afficher que la colonne qui t'intéresse ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre extrêmement actif Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 326
    Par défaut
    parce que je vais reconcaténer les données des colonnes

    Avec while ca donnerait quoi ? Un exemple de code à me montrer ?

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Citation Envoyé par NBaH
    pourquoi ne pas demander à sql de n'afficher que la colonne qui t'intéresse ?
    Citation Envoyé par mapmip
    parce que je vais reconcaténer les données des colonnes

    je ne vois pas le rapport.
    c'est de l'ordre de :
    - pourquoi tu mets du beurre sur tes tartines ?
    - parce que je vais mettre de la confiture.

    je serais surpris que mysql n'ait pas quelques fonctions de formatage, pour faire ce que tu souhaites (genre concat()).
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour

    • Toujours la même remarque: si c'est pour formater un résultat texte, il n'est pas nécessaire de lister ligne à ligne un fichier par une boucle. Il y a une myriade d'outils puissants qui font cela: grep, sed, awk, etc.

    • d'abord, on ne lit pas une substitution de commande ($(..)) dans une boucle for
      export PGPASSWORD='monmotdepasse'
      Par contre, on lit un mot de passe par un simple echo $PGPASSWORD pour n'importe qui connecté à la machine. N'est-ce pas ?

Discussions similaires

  1. Ajout d'une colonne dans une table ...
    Par Djedjeridoo dans le forum SQL
    Réponses: 2
    Dernier message: 22/07/2003, 16h12
  2. Supprimer une colonne sous SQL Serveur 2000
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/07/2003, 12h24
  3. Check sur une colonne de table "en cours"
    Par in dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/07/2003, 09h47
  4. [PostGres] Suppresion d'une colonne.
    Par Gandalf24 dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/05/2003, 09h02
  5. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo