Thread View: pl.comp.os.linux.programowanie
4 messages
4 total messages
Started by jivanmuktaWYTNIJTO
Fri, 16 Sep 2011 17:30
przeksztacenie wierszy w listę w bashu
Author: jivanmuktaWYTNIJTO
Date: Fri, 16 Sep 2011 17:30
Date: Fri, 16 Sep 2011 17:30
17 lines
1585 bytes
1585 bytes
Potrzebuję w bashu wyciągnąć z bazy MySQL listę liczb naturalnych i zachować ją w zmiennej skryptowej w postaci liczb rozdzielonych przecinkiem, tzn tak: "145,13,46,23,1,57,987,23". Jakoś tak: echo "SELECT email_id FROM emails WHERE announcement_year=$year AND announcement_month=$month" | mysql --host=$mysql_server -u $mysql_user --password=$mysql_password $mysql_database | ... Niestety nie wiem jak przekształcić dane z MySQLa na listę liczb rozdzielonych przecinkiem, tzn. nie wiem co wpisać w miejsce ... Byłbym wdzięczny za pomoc. -- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Re: przeksztacenie wierszy w listę w bashu
Author: mvoicem
Date: Fri, 16 Sep 2011 17:41
Date: Fri, 16 Sep 2011 17:41
22 lines
1822 bytes
1822 bytes
(16.09.2011 19:30), jivanmuktaWYTNIJTO@poczta.onet.pl wrote:
> Potrzebuję w bashu wyciągnąć z bazy MySQL listę liczb naturalnych i zachować ją
> w zmiennej skryptowej w postaci liczb rozdzielonych przecinkiem, tzn tak:
> "145,13,46,23,1,57,987,23".
> Jakoś tak:
>
> echo "SELECT email_id FROM emails WHERE announcement_year=$year AND
> announcement_month=$month" | mysql --host=$mysql_server -u $mysql_user
> --password=$mysql_password $mysql_database | ...
>
> Niestety nie wiem jak przekształcić dane z MySQLa na listę liczb rozdzielonych
> przecinkiem, tzn. nie wiem co wpisać w miejsce ...
> Byłbym wdzięczny za pomoc.
Gdyby to był postgres, szedłbym w tą stronę:
echo "SELECT ARRAY(SELECT email_id FROM emails WHERE ....);" | psql
danebazy | head -n 3 | tail -n 1 | perl -pe 's/{}//g'
Może Ci to pomoże coś z mysqlem
p.m.
Re: przeksztacenie wierszy w listę w bashu
Author: Zbigniew Cofała
Date: Sun, 18 Sep 2011 06:17
Date: Sun, 18 Sep 2011 06:17
21 lines
1720 bytes
1720 bytes
jivanmuktaWYTNIJTO@poczta.onet.pl wrote: > Potrzebuję w bashu wyciągnąć z bazy MySQL listę liczb naturalnych i > zachować ją w zmiennej skryptowej w postaci liczb rozdzielonych > przecinkiem, tzn tak: "145,13,46,23,1,57,987,23". > Jakoś tak: > echo "SELECT email_id FROM emails WHERE announcement_year=$year AND > announcement_month=$month" | mysql --host=$mysql_server -u $mysql_user > --password=$mysql_password $mysql_database | ... > > Niestety nie wiem jak przekształcić dane z MySQLa na listę liczb > rozdzielonych przecinkiem, tzn. nie wiem co wpisać w miejsce ... > Byłbym wdzięczny za pomoc. chodzi o to? $ mysql -BNe "SELECT '1', '22', '333', '4444'" | tr \\t ',' -- Zbigniew[at]Cofala[dot]com http://turox.pl
Re: przeksztacenie wierszy w listę w bashu
Author: Zbigniew Cofała
Date: Sun, 18 Sep 2011 06:29
Date: Sun, 18 Sep 2011 06:29
30 lines
2032 bytes
2032 bytes
Zbigniew Cofała wrote: > jivanmuktaWYTNIJTO@poczta.onet.pl wrote: > >> Potrzebuję w bashu wyciągnąć z bazy MySQL listę liczb naturalnych i >> zachować ją w zmiennej skryptowej w postaci liczb rozdzielonych >> przecinkiem, tzn tak: "145,13,46,23,1,57,987,23". >> Jakoś tak: > >> echo "SELECT email_id FROM emails WHERE announcement_year=$year AND >> announcement_month=$month" | mysql --host=$mysql_server -u >> $mysql_user --password=$mysql_password $mysql_database | ... >> >> Niestety nie wiem jak przekształcić dane z MySQLa na listę liczb >> rozdzielonych przecinkiem, tzn. nie wiem co wpisać w miejsce ... >> Byłbym wdzięczny za pomoc. > > chodzi o to? > $ mysql -BNe "SELECT '1', '22', '333', '4444'" | tr \\t ',' A, już kumam. Chodzi ci raczej o coś takiego: zmienna=$(mysql nazwa_bazy -BNe "SELECT email_id FROM bla bla.." | tr \\n ','); echo "$zmienna" Usunięcie końcowego przecinka ze zmiennej pozostawiam jako zadanie domowe. :) -- Zbigniew[at]Cofala[dot]com http://turox.pl
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads