Mysql über Shell auslesen

Bash, Shell, PHP, Python, Perl, CGI
amiga1200
Posts: 203
Joined: 2007-01-13 19:58

Mysql über Shell auslesen

Post by amiga1200 » 2015-01-07 21:24

ich habe eine Tabelle mit 3 Feldern und ca. 10 Datensätze.

wie kann ich die über ein Shell Script auslesen?

Mein Versuch:
sql="$(echo "SELECT * FROM kategorie " | mysql -u root -pgeheim medien )"

while read line; do
echo "$line"
done < <(echo "$sql")
gibt zwar schon alles aus, aber ich benötige alle 3 Felder getrennt.
Ideal für jedes Feld ein Array

ddm3ve
Moderator
Moderator
Posts: 1125
Joined: 2011-07-04 10:56

Re: Mysql über Shell auslesen

Post by ddm3ve » 2015-01-08 12:47

Du willst das als Array in der Bash behandeln? Die bash oder allgemeine shell ist für solche Aktionen eher nicht geeignet. Natürlich geht das, aber i anderen sprachen wie php, perl lässt sich das viel bequemer und einfacher lösen.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Mysql über Shell auslesen

Post by daemotron » 2015-01-08 15:44

amiga1200 wrote:gibt zwar schon alles aus, aber ich benötige alle 3 Felder getrennt.
Ideal für jedes Feld ein Array

Schmeiß das doch einmal noch per Pipe gegen AWK:

Code: Select all

while read line; do
    for field in "$(echo "${line}" | awk 'BEGIN { FS="|" } { print $1; print $2; print $3 }')"; do
        # do something with ${field}
    done
done << (echo "$sql")
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time