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 718
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 718
    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 ?

  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 718
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 718
    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()).

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 299
    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, 17h12
  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, 13h24
  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, 10h47
  4. [PostGres] Suppresion d'une colonne.
    Par Gandalf24 dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/05/2003, 10h02
  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, 12h44

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