Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam,
jak najlepiej pobrać wszystkie N wartości np. "jakasZmienna" uzywając do tego basha ?
<select name="jakasZmienna"> <option value="wartosc1">wartosc1</option> ... <option value="wartoscN">wartoscN</option> </select>
Dzięki!
Offline
O to chodzi:
13:01:12 lena:~$ cat cos <select name="jakasZmienna"> <option value="wartosc1">wartosc1</option> ... <option value="wartoscN">wartoscN</option> </select> 13:01:17 lena:~$ cat cos |egrep -o '>.*<'|sed 's/<//g;s/>//g' wartosc1 wartoscN
?
Offline
o wynik tak, ale bardziej konkretny regex odwołujący się do zmiennych, bo rozumiem, że ten jest bardzo pro, ale jest ogólny i leci po prostu po tagach (?) bo przy wielu tagach, np. przy selecie, który jest zagnieżdżony w zwykłej stronie, to sie sypie
+ wyciagnąć wartość atrybutu value="^...s$", bo nazwa <option> jest nieistotna</option>
Ostatnio edytowany przez rj46 (2013-11-09 13:33:21)
Offline
A to musi być Bash?
Bo z tego przykładu widać, że te zmienne masz w jakimś XMLu , a do plików XML jest we wszystkich Perlach czy Pythonach cały batalion modułów.
W C/C++ masz gotową biblioteką libxml2.
Krótko pisząc, Bash, to jest lekkie utrudnienie (Bash jest interpreterem powłoki shell, a nie językiem programowania).
Tu conieco z Perla:
http://search.cpan.org/~grantm/XML-Simple-2.20/lib/XML/Simple.pm
Ostatnio edytowany przez Jacekalex (2013-11-09 14:35:06)
Offline
Też się źle trochę wyraziłem, po prostu chciałem odświeżyć swoje wiadomości i użyć jakoś basha. Bo ogolnie to chcę
pobrać stronę curl'em albo wgetem, i chyba teraz jakos dostać interesujace mnie dane z takich tagow zapisac wynik do pliku, i pozniej sobie napisac jakieś grepy aby wyciagac "rekrody", ktore sobie zapisalem do pliku, ogolnie to trochę, moze mogłem wybrać inne narzędzie, ale chcialem jakoś wreszcie używać basha, a nei ograniczac sie do prostych komend ;p
Ostatnio edytowany przez rj46 (2013-11-09 14:58:32)
Offline
Jeżeli to jakiś plik xml to można bawić się XPath - http://www.w3schools.com/xpath/xpath_syntax.asp
W repo są konsolowe programy xpath i xmllint.
Offline
Ja też pisałem sobie kiedyś skrypta w Bashu, ale w ciągu kilku dni musiałem użyć WWW::Mechanize, WWW::Scriptera, i skończyło się tak:
http://jacekalex.sh.dug.net.pl/rssperl
Od tego czasu się nauczyłem, żeby Basha używać do konsoli i prostych skryptów, ale za bazy SQL, regexy, pliki XML, czy parsowanie tabel html się Bashem nie brać. ;P
Pozdro
:D
Offline
a już tak kończąc tylko :P
to pliki, w których mam zapisane jakieś dane, da radę połączyć relacjami ?:P Jakoś grepopodbnie zamienić liczbę na wartość z innego pliku, któremu odpowiada ?
np.
plik1
value1|value2|id_1|id_2|
plik 2
id_1|value3
plik 3
id_2|value4
aby wyciągnąć, tutaj sobie value1|value2|value3|value4 ?:D
Offline
Pewnie by się dało ;] przedstaw tylko kawałek (więcje niż 1 linijkę) tych plików ;]
Offline
już sobie poradziłem, dzięki wszystkim za pomoc!
@winnetou
nick|name|1|100 itd.
po prostu zwykly tekst i int w ID'kach, ale już nie trzeba się z tym kłopotać ;p
@Jacekalex
po próbach z konsolowym rozwiązaniem, napisałem sobie w php'ie skrypcik pobrał curlem, regexem wyciągnał i mam co chcialem :P
Dzięki wszystkim :)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00012 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00100 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.188.223.120' WHERE u.id=1 |
0.00060 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.188.223.120', 1732701009) |
0.00063 | SELECT * FROM punbb_online WHERE logged<1732700709 |
0.00094 | DELETE FROM punbb_online WHERE ident='185.191.171.17' |
0.00082 | SELECT topic_id FROM punbb_posts WHERE id=245441 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=24575 ORDER BY posted |
0.00064 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24575 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00220 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24575 ORDER BY p.id LIMIT 0,25 |
0.00079 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24575 |
Total query time: 0.0079 s |