Script Bash & PostgreSQL: Comment accéder à colunm valeurs de retour d'instruction SELECT.
J'ai une base de données dans PostgreSQL appelé les clients, les clients a une table appelée CustomerInfo. CustomerInfo contient 3 colunms ID, le Nom et l'adresse. Je voudrais écrire un script bash pour obtenir des informations de la CustomerInfo table, mais je ne suis pas sûr de savoir comment accéder à la personne les lignes une fois que j'aurai les résultats de la requête. Voici le script que j'ai écrit:
#!/bin/bash
results=`psql -d customers -c "select * from CustomerInfo where name = 'Dave'"`
echo $results['name']
La requête s'exécute correctement et renvoie les résultats corrects, mais l'écho de commande, il suffit d'imprimer le tout dans les résultats. Je sais que ce n'est pas la bonne façon de le faire, personne ne sait de façon à obtenir les résultats de la requête dans un tableau, ou devrais-je juste écrire mon propre fonction pour l'analyse des résultats?
Merci!
Avant d'essayer d'écrire quoi que ce soit vous-même, vous avez à réaliser ce que vous faites ici: l'Exécution d'une commande et le stockage de sa sortie(texte) dans une variable. Par conséquent, vous devez analyser et démonter ce texte dans le but de rendre cette chose que le travail.
OriginalL'auteur Robbie Torrens | 2013-12-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez stocker vos résultats dans un tableau et une boucle par elle à l'aide d'une boucle while.
OriginalL'auteur bckim
J'ai eu du succès à l'aide de la
approche:
Il est une excellente ressource pour cela et les choses semblables à: manniwood.com s'PostgreSQL et bash Trucs de page
OriginalL'auteur yokeho
Vous ne pouvez pas. Vous devez écrire votre propre fonction pour éplucher les résultats de la requête. Backtick( ` ) va exécuter la commande et renvoie le résultat.
Dans votre cas, les résultats de sortie de votre requête.
OriginalL'auteur sat
Si j'ai été chargé de faire cela (vraiment, Perl est mieux, prendre l'avis de @daniel-verite), voici ce que je ferais.
head
Maintenant, le ci-dessus suppose pas intégré les retours à la ligne (ce qui ne ferait que compliquer les choses)
Ce montant de l'effort est tout sauf ordinaire. Vous êtes vraiment mieux de l'apprentissage de Perl pour une tâche de cette.
OriginalL'auteur Chris Travers