cwbe coordinatez:
101
63540
63542
2109677
63692
5801970

ABSOLUT
KYBERIA
permissions
you: r,
system: public
net: yes

neurons

stats|by_visit|by_K
source
tiamat
K|my_K|given_K
last
commanders
polls

total descendants::18
total children::4
show[ 2 | 3] flat


ahoj, velmi jednoduchy dotaz...ja som zistil, ze neviem jednoducho vyfiltrovat zo suboru blok textu bez akychkolvek uprav daneho suboru..
uvediem priklad:

mam page.html ... v tomto subore je klasicka html struktura, bloky textu, paragrafy, obrazky, tabulky...
a ja potrebujem dostat na vystup jednu z tabuliek...a sice by to mal riesit tento regularny vyraz:

"<div class="tab_kurzy".[a-zA-Z0-9&lt;&gt;"'-.,/= :;%]*"


..to znamena, ze mi to ma vyextrahovat nieco takehoto:

<div class="tab_kurzy"><table cellspacing=0 cellpadding=0 style="width:100%;"><colgroup>

<tr>
<td>.....</td>
</tr>
<tr>
<td>.....</td>
</tr>
</table>

..no neviem, aky nastroj mam na to pouzit.
priznam sa, poznam len GREP, AWK a SED, ale asi nie velmi dobre..

- grep vie vypisovat len riadky
- sed manipuluje zo suborom AFAIK
- awk znie asi najvhodnejsie, ale pokial viem, tak pracuje len so stlpcami...

(nehovorim, ze ten regex mam spravne, ten potom doladim, potrebujem len vediet, ktory tool a ako ho pouzit...)

vdaka!




00000101000635400006354202109677000636920580197005804517
bujak
 bujak      03.02.2011 - 11:09:51 , level: 1, UP   NEW
perl je aj tak najlepsi

00000101000635400006354202109677000636920580197005802103
ziman
 ziman      02.02.2011 - 12:25:04 [1K] , level: 1, UP   NEW
cat subor | sed -n '/tab_kurzy/,/\/table/p'

0000010100063540000635420210967700063692058019700580210305803487
divinorum
 divinorum      02.02.2011 - 21:05:45 , level: 2, UP   NEW
silno sa snažím pochopiť, čo chce toto robiť, ale nedarí sa :)

1. Mathematics is the language of nature. 2. Everything around us can be represented and understood through numbers. 3. If you graph these numbers, patterns emerge. Therefore: There are patterns everywhere in nature.

000001010006354000063542021096770006369205801970058021030580348705803588
ziman
 ziman      02.02.2011 - 21:37:04 , level: 3, UP   NEW
skus si: curl -s http://kyberia.sk | sed -n '/head/,/\/head/p'

00000101000635400006354202109677000636920580197005802103058034870580358805804126
divinorum
 divinorum      03.02.2011 - 08:36:38 , level: 4, UP   NEW
OK, mám to, dík :) som si včera zle prečítal zadanie úlohy :)

1. Mathematics is the language of nature. 2. Everything around us can be represented and understood through numbers. 3. If you graph these numbers, patterns emerge. Therefore: There are patterns everywhere in nature.

000001010006354000063542021096770006369205801970058021030580348705803576
ziman
 ziman      02.02.2011 - 21:32:41 , level: 3, UP   NEW
vypise vsetky riadky od riadka obsahujuceho "tab_kurzy" po riadok obsahujuci "/table", vratane

00000101000635400006354202109677000636920580197005802103058034870580357605805160
_W1 22/7
 _W1 22/7      03.02.2011 - 15:27:30 , level: 4, UP   NEW
a prepise povodny subor (zmaze ostatok), alebo ho zachova? nemam teraz po ruke nic, na com by som to skusil

0000010100063540000635420210967700063692058019700580210305803487058035760580516005805530
ziman
 ziman      03.02.2011 - 17:52:18 , level: 5, UP   NEW
Znak "|" znamena zrurovanie, tj. vystup curlu sa posle na vstup sedu a vystup sedu sa vypise na konzolu. V celom priklade ani ziaden subor nevystupuje (curl stahuje webstranku).

Sed vie modifikovat subor in-place (opsna -i), ale defaultne pracuje so standardnym vstupom/vystupom.

000001010006354000063542021096770006369205801970058021030580348705803576058051600580553005807920
_W1 22/7
 _W1 22/7      04.02.2011 - 15:15:27 , level: 6, UP   NEW
hej hej, viem, co su pipes, na co je curl a podobne, dakujem ;) ja som reagoval na ten priklad

cat subor | sed -n '/tab_kurzy/,//table/p'

..nie na ten curl...ale ten s curlom je sikovny, vdaka

00000101000635400006354202109677000636920580197005802103058034870580357605805160058055300580792005807980
ziman
 ziman      04.02.2011 - 15:35:26 , level: 7, UP   NEW
no ak vies, ako to funguje, tak by malo byt zrejme, ze do toho suboru sed nema sancu zapisovat, lebo o nom ani nevie

0000010100063540000635420210967700063692058019700580210305803487058035760580516005805530058079200580798005808000
_W1 22/7
 _W1 22/7      04.02.2011 - 15:44:07 , level: 8, UP   NEW
mas pravdu, som si len neuvedomil, ze mozem sedu poslat len vypis suboru a nie subor samotny, vdaka

000001010006354000063542021096770006369205801970058021030580348705803576058051600580553005807920058079800580800005808094
ziman
 ziman      04.02.2011 - 16:25:46 , level: 9, UP   NEW
jj, tak som to myslel presne :)

00000101000635400006354202109677000636920580197005801994
Mr. Darcy
 Mr. Darcy      02.02.2011 - 11:56:32 (modif: 02.02.2011 - 11:58:42), level: 1, UP   NEW !!CONTENT CHANGED!!
v prvom rade skus pouzit egrep

druha vec je, ze v HTML mozes newline nahradit medzerou a semantika sa nezmeni

a tretia, php/perl/ruby/... podporuju multiline patterny

0000010100063540000635420210967700063692058019700580199405802034
_W1 22/7
 _W1 22/7      02.02.2011 - 12:08:18 (modif: 02.02.2011 - 12:11:32), level: 2, UP   NEW !!CONTENT CHANGED!!
ad druha vec -> to mi je jasne, ale ja to HTML negenerujem, iba ho stahujem a nechcem v nom robit absolutne ziadne upravy -> t.z. ani zamenit vsetky n za " "

a egrep mi asi nepomoze, lebo tiez vracia iba riadky, ktore matchuju

000001010006354000063542021096770006369205801970058019940580203405802040
Mr. Darcy
 Mr. Darcy      02.02.2011 - 12:10:28 , level: 3, UP   NEW
ja ti to vyhovarat nebudem, ale nerozumiem preco je to taky problem (man tr)

00000101000635400006354202109677000636920580197005801994058020340580204005802059
_W1 22/7
 _W1 22/7      02.02.2011 - 12:14:50 , level: 4, UP   NEW
nie je to zase taky problem, hladam len efektivnejsie riesenie ako to, ze si spravim kopiu suboru, ktoru potom zase preparsujem, pouzijem jej upraveny obsah, potom ju opat zmazem...a tkato to opakovat pre rozne ine operacie, co chcem spravit s jednym suborom v jednom skripte....hladam len efektivnejsie riesenie, inak si samozrejme poradit viem...

ale dakujem

0000010100063540000635420210967700063692058019700580199405802034058020400580205905802078
Mr. Darcy
 Mr. Darcy      02.02.2011 - 12:18:49 (modif: 02.02.2011 - 12:30:07), level: 5, UP   NEW !!CONTENT CHANGED!!
stojis zrejme pred problemom, ktory sa oplati riesit rovno nejakym poriadnym skriptovacim jazykom, ja by som na to hned pouzil php alebo perl. a rozhodne by som neukladal subor na jedno pouzitie, je z toho viac problemov nez uzitku (curl | tr | egrep -o ked uz)

toto si pozri, urcite lepsie nez pouzivat regexpy na HTML:
http://php.net/manual/en/class.domdocument.php

00000101000635400006354202109677000636920580197005801979
ventYl
 ventYl      02.02.2011 - 11:51:56 , level: 1, UP   NEW
awk v ziadnom pripade nepracuje len so stlpcami. implicitne sice pracuje s riadkami, ale vies si tam napisat nejaky primitivny skript, ktory ti riadky na vstupe zlepi. a/alebo mozno niekto vie o niecom, co je rychlejsie, mna teraz narychlo nic nenapada

0000010100063540000635420210967700063692058019700580197905801984
_W1 22/7
 _W1 22/7      02.02.2011 - 11:54:03 , level: 2, UP   NEW
ahoj, ano myslel som si, ze to bude vediet viac, ale netusim, ako ho pouzit...vies mi poradit?

000001010006354000063542021096770006369205801970058019790580198405802033
ventYl
 ventYl      02.02.2011 - 12:08:14 , level: 3, UP   NEW
obecne, do awk vies namackat skript, ktory ma tvar
/pattern/ { commands; commands; }
kde pattern je regexpa, ktora matchuje a commands su prikazy awk-u. je ich vcelku dost. potom to funguje tak, ze pre kazdy riadok sa vykonaju commands; vtedy, ak sa matchne pattern.

namiesto /pattern/ sa daju napisat aj pseudo patterny pre zaciatok a tusim aj koniec vstupu. pre ich presne znenie ta odkazem na manpage awk-u, alebo na nejaky tutorial, z hlavy ich sam neviem. pre zoznam funkcii a syntaxe jazyka ta odkazem tatam, pretoze vypisovat celu syntax na tomto mieste je zbytocne a bezucelne.

kazdopadne awk ma funkciu general_match() alebo nieco podobne, co umoznuje matchovat. mozno zmenou premennej prostredia $IFS na prazdnu premennu a/alebo nejakym prepinacom awk-u by si dosiahol, ze by sa ti cely subor nacital do premennej naraz. btw cely riadok je dostupny v premennej $0.

syntax je podobna pascalu.

00000101000635400006354202109677000636920580197005801979058019840580203305802109
_W1 22/7
 _W1 22/7      02.02.2011 - 12:26:01 , level: 4, UP   NEW
stredny odstavec vyzera ako presne to, co hladam, vdaka, googlim...

mam to:

awk '/konecny_pattern/{f=0}/zaciatocny_pattern/{f=1;next}f' file

funguje to, fantazia.
..teraz to uz len pochopit