abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

včera 23:33 | Nová verze

Byla vydána nová stabilní verze 3.16.0, tj. první z nové řady 3.16, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu.

Ladislav Hagara | Komentářů: 0
včera 19:33 | IT novinky

NoLog.cz IT kolektiv spustil Nitter.cz. Jedná se o alternativní rozhraní pro Twitter, které nesbírá osobní údaje, nevyžaduje přihlášení a všechny přístupy na Twitter provádí skrz servery NoLog.cz.

Ladislav Hagara | Komentářů: 9
včera 18:44 | Nová verze

Byla vydána nová major verze 15 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

Ladislav Hagara | Komentářů: 0
22.5. 23:00 | Nová verze

Po 9 týdnech vývoje od vydání Linuxu 5.17 oznámil Linus Torvalds vydání Linuxu 5.18 (LKML). Přehled nových vlastností a vylepšení na stránce Linux Kernel Newbies.

Ladislav Hagara | Komentářů: 0
22.5. 14:44 | Komunita

V Ubuntu 22.10 s kódovým jménem Kinetic Kudu bude zvukový server PulseAudio nahrazen multimediálním serverem PipeWire.

Ladislav Hagara | Komentářů: 15
21.5. 22:44 | Zajímavý článek

Tavis Ormandy popisuje, jak zprovoznil 32 let starý unixový port tabulkového procesoru Lotus 1-2-3 na moderním Linuxu. Doprovodné zdrojové kódy jsou na GitHubu.

Fluttershy, yay! | Komentářů: 13
21.5. 17:00 | Nová verze

Po pěti měsících vývoje od vydání verze 250 byla vydána nová verze 251 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 3
21.5. 15:44 | IT novinky

HP ve spolupráci se System76 představil 14" notebook HP Dev One s procesorem AMD Ryzen 7 PRO a předinstalovaným Pop!_OS Linuxem.

Ladislav Hagara | Komentářů: 20
21.5. 15:00 | Nová verze

Byla vydána verze 1.61.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
19.5. 00:33 | Zajímavý článek

Správce nástroje curl Daniel Stenberg na GitHubu průběžně vytváří svou novou knihu Uncurled, v níž shrnuje své dlouhodobé zkušenosti s údržbou open-source projektu: od odpozorovaných pouček po vtipné a ne až tak vtipné příklady e-mailů od uživatelů.

Fluttershy, yay! | Komentářů: 39
Na sociálních sítích nebo jiných webových diskuzích vystupuji pod
 (61%)
 (16%)
 (23%)
Celkem 326 hlasů
 Komentářů: 29, poslední dnes 00:02
Rozcestník


Dotaz: bash + mysql + read

25.7.2005 17:42 jura
bash + mysql + read
Přečteno: 2566×
Dobry den Resim problem cteni dat z db mysql a jejich nasledne zpracovani v BASH. Pouzivam nize uvedenou konstrukci /je funkcni/ ale nelibi se mi cteni pres deskriptor souboru /pri hodne dotazech hodne souboru/. Nalezne nekdo elegantnejsi reseni ?
p.s. rady typu pis to v perlu, pythonu, php .. atd nejsou reseni, jde o BASH

mysql -N -u uzivatel --password=heslo db1 < select.sql > vysledek1.txt
read VSECHNY < vysledek1.txt
echo ${VSECHNY} Diky za rady Jura

Odpovědi

25.7.2005 17:57 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: bash + mysql + read
[root@zero ~]# X=$(echo 'select * from user' |mysql -N -D mysql -u root|head -n 1)
[root@zero ~]# echo $X       
localhost root Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0
26.7.2005 08:54 jura
Rozbalit Rozbalit vše Re: bash + mysql + read
Jo to funguje parada. Nebyl by tam jeste typ na nacitani vice radku do pole bez opakovaneho volani mysql ?
26.7.2005 09:31 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: bash + mysql + read
IFS=$'\n' X=($(mysql -N -D mysql -u root <<<<'select * from user'))
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
26.7.2005 09:32 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: bash + mysql + read
sorry jedno < je tam navic
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
26.7.2005 09:57 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: bash + mysql + read
Tady bych měl otázku na Yetiho. Mám pocit, že ${#X} vrací hodnotu špatně a bez ohledu na nastavené IFS. Jsem blbej já, nebo bash?
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
29.7.2005 12:39 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: bash + mysql + read
Tak si odpovím sám. Blbě jsem si přečetl manuál. Odpověď zní 42, eh co to kecám. to je odpověď na jinou otázku. Odpověď zní ${#X[*]}.
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
29.7.2005 12:41 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: bash + mysql + read
${#x} pro skalár dává délku řetězce

${#x} pro pole dává délku prvního prvku (stejně jako $x první prvek)

${#x[*]} pro pole dává počet prvků pole

Toto vše mi funguje. Můžeš uvést nějaký příklad, kvůli kterému nebudu muset přidávat do mysql tabulky?
29.7.2005 12:55 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: bash + mysql + read
Jojo, už jsem si RTFM :-)
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
29.7.2005 03:20 jano
Rozbalit Rozbalit vše Re: bash + mysql + read
urcite to nie idealne riesenie ale fici tak ako potrebujem a mozno pomoze aj tebe
#!/bin/bash

USER="root"
#PASS="-pHESLOjeHESLO"

#note: from DATABASE_NAME.TABLE_NAME
SQL_QUERY="
    select *
    from
        mysql.user
    "

mysql -N -u $USER $PASS  <<<$SQL_QUERY | \
gawk -F'\t' '{print $1,$2}' |  #print 3,4...x kolko je treba :)
while read COL1 COL2 #COL3 ... COLx kolko je treba :)
do
    #napr.
    echo "COL1: $COL1 | COL2: $COL2"
done

29.7.2005 12:29 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: bash + mysql + read
Huh, tak tomu říkám maso. Co takhle trochu elegance.
IFS=$'\n'
for row in $(mysql -N -D mysql -u root -e 'select * from user')
do (
  IFS=$'\t'
  i=1
  for col in $row
  do
    echo -n "| COL$i: $col "
    let i++
  done;
  echo "|"
)
done
nebo
IFS=$'\n'
for row in $(mysql -N -D mysql -u root -e 'select * from user')
do (
  IFS=$'\t'
  cols=($row)
  echo -e "host: ${cols[0]}\tname: ${cols[1]}"
)
done
nebo
data="$(mysql -N -D mysql -u root -e 'select * from user')"
data="${data//$'\n'/|}"
IFS='|'
for row in $data
do
  cols=(${row//$'\t'/|})
  echo "host: ${cols[0]} | name: ${cols[1]}"
done
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
29.7.2005 12:53 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: bash + mysql + read
A nebo paměťově méně náročné a nechá IFS vně napokoji, protože while read proběhne jako subproces
mysql -N -D mysql -u root -e 'select * from user' |
while read row
do
  IFS='|'
  cols=(${row//$'\t'/|})
  echo "host: ${cols[0]} | name: ${cols[1]}"
done
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
26.12.2006 19:56 Evka | skóre: 13 | Ostrava
Rozbalit Rozbalit vše Re: bash + mysql + read
Jak to udelat at se to nepta na heslo a vezme si jej primo z scriptu?
Use windowsXP or better!! I use Kubuntu.
26.12.2006 19:57 Evka | skóre: 13 | Ostrava
Rozbalit Rozbalit vše Re: bash + mysql + read
odpovim si sam --password=XXXX
Use windowsXP or better!! I use Kubuntu.
29.7.2005 12:46 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: bash + mysql + read
Jen taková drobná otázečka. Jak se to vypořádá s prázdným sloupcem? :-)
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.