🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#72318
Author: jivanmuktaWYTNIJTO
Date: Fri, 16 Sep 2011 17:30
17 lines
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
#72324
Author: mvoicem
Date: Fri, 16 Sep 2011 17:41
22 lines
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
#72326
Author: Zbigniew Cofała
Date: Sun, 18 Sep 2011 06:17
21 lines
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
#72320
Author: Zbigniew Cofała
Date: Sun, 18 Sep 2011 06:29
30 lines
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