Page 1 of 1

Mysql über Shell auslesen

Posted: 2015-01-07 21:24
by amiga1200
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

Re: Mysql über Shell auslesen

Posted: 2015-01-08 12:47
by ddm3ve
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.

Re: Mysql über Shell auslesen

Posted: 2015-01-08 15:44
by daemotron
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")