Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: timmynovak 21 Února 2011, 09:42:33

Název: Jak pomocí sed ostranit HTML tagy s vložením řádků?
Přispěvatel: timmynovak 21 Února 2011, 09:42:33
Ahoj, mám následující HTML:
Kód: [Vybrat]
<tr><td class='linka'>109</td><td> Brno, ÚAN Zvonařka </td><td class='cas'>9:42</td></tr><tr><td class='linka'>48</td><td> Úzká </td><td class='cas'>9:47</td></tr><tr><td class='linka'>109</td><td> Brno, ÚAN Zvonařka </td><td class='cas'>10:03</td></tr><tr><td class='linka'>40</td><td> Úzká </td><td class='cas'>10:07</td></tr><tr><td class='linka'>40</td><td> Úzká </td><td class='cas'>10:27</td></tr>
Potřeboval bych z toho vypreparovat jednotlivé odjezdy autobusů. Dokáži odstranit pomocí sed jednotlivé HTML značky, ale pak mám výpis spojený, tj:
Kód: [Vybrat]
109 Brno, ÚAN Zvonařka 9:4248 Úzká 9:47109 Brno, ÚAN Zvonařka 10:0340 Úzká 10:0740 Úzká 10:27

Potřeboval bych nějak rozumně oddělit jednotlivé odjezdy, tj,. vložit místo </tr> CR LF. Nedaří se mi to a nedaří pomoci sed, pomůžete, prosím, někdo? Zatím odstraňuji html takto:
Kód: [Vybrat]
sed -e 's#<[^>]*>##g'
Děkuji
Název: Re: Jak pomocí sed ostranit HTML tagy s vložením řádků?
Přispěvatel: daysleeper 21 Února 2011, 11:11:35
nestacilo by to grepnout, treba pomoci grep -Eo '([0-9]|[12][0-9]):[0-5][0-9]'?
Kód: [Vybrat]
$ echo "<tr><td class='linka'>109</td><td> Brno, ÚAN Zvonařka </td><td class='cas'>9:42</td></tr><tr><td class='linka'>48</td><td> Úzká </td><td class='cas'>9:47</td></tr><tr><td class='linka'>109</td><td> Brno, ÚAN Zvonařka </td><td class='cas'>10:03</td></tr><tr><td class='linka'>40</td><td> Úzká </td><td class='cas'>10:07</td></tr><tr><td class='linka'>40</td><td> Úzká </td><td class='cas'>10:27</td></tr>" | grep -Eo '([0-9]|[12][0-9]):[0-5][0-9]'
9:42
9:47
10:03
10:07
10:27
Název: Re: Jak pomocí sed ostranit HTML tagy s vložením řádků?
Přispěvatel: GdH 21 Února 2011, 11:23:21
Tohle máš na mysli?
Kód: [Vybrat]
sed -e 's#</tr>#\n#g' -e 's#<[^>]*>##g'