Portál AbcLinuxu, 8. května 2024 12:07


Dotaz: Sed (?) - vyber textu

20.9.2011 09:13 Adamec | skóre: 30
Sed (?) - vyber textu
Přečteno: 324×
Odpovědět | Admin

Cau lidi,

potrebuju vybrat text ulozeny mezi <SHOPITEM> a </SHOPITEM>.

Děkuji za každou radu

This is not a bug it's a feature
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.9.2011 09:35 NN
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed 's/[SHOPITEM]\(.*\)[\/SHOPITEM]/\1/'
NN
21.9.2011 02:43 deadmail
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
s hranatymi uvodzovkami to vobec nebude fungovat
 echo 'StextS' | sed 's/[SHOPITEM]\(.*\)[\/SHOPITEM]/\1/'
21.9.2011 09:54 l4m4
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
Hranaté uvozovky samozřejmě nahrazují zobáčky, které sem dostat do komentáře je pěkná pruda.
Tarmaq avatar 20.9.2011 15:28 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed -n 's/^.*<SHOPITEM>\(.*\)<\/SHOPITEM>.*$/\1/p'
Don't panic!
21.9.2011 02:55 deadmail
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
funguje, ak nebude v jednom riadku viacero SHOPITEM (vypise posledne)... Da sa to zapisat aj
sed -nr 's_^.*<SHOPITEM>(.*)</SHOPITEM>.*$_\1_p'
Inac by sa na to mal pouzit nejaky XML parser.
21.9.2011 10:11 l4m4
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
Příloha:
Stačí xsltproc, například takhle (zadání nespeficikuje, jak se mají vypsat SHOPITEMy pokračjící přes více řádků, takže je nechávám, jak leží a běží).
21.9.2011 10:28 Kit
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
Pěkné. K tomu bych asi dodal jen to, že tazatel nechtěl <shopitem>, ale <SHOPITEM>. Ale to si snad opraví nebo doplní sám.
21.9.2011 10:37 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
co je na tom tazkeho tam tie zobaciky dat ? ved to su zakladne znaky (&lt; , &gt; , &amp; , a podobne)
sed 's/<SHOPITEM>\(.*\)<\/SHOPITEM>/\1/'
21.9.2011 10:38 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
ehm, mala to byt reakcia na l4m4:
Hranaté uvozovky samozřejmě nahrazují zobáčky, které sem dostat do komentáře je pěkná pruda.
21.9.2011 10:46 l4m4
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
Je to pruda.
21.9.2011 11:29 Sten
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tipuju, že jde o XML pro Zboží nebo Heuréku, že? :-)

Protože ten dokument je XML a ty značky jsou (alespoň většinou) na různých řádcích, tak bych doporučil nějaký XML parser.
21.9.2011 21:57 Adamec | skóre: 30
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu

JJ presne , ale uz jsem to vyresil jinak ... 2csveckem do csv, s tim se mi pracuje lip.Dikes vsem za tipy.

This is not a bug it's a feature
22.9.2011 09:40 Kit
Rozbalit Rozbalit vše Re: Sed (?) - vyber textu
Rozdíl mezi zpracováním XML grepem a xsltproc se projeví až ve chvíli, kdy na vstup přijdou například taková data:
<shop>
<shopitem>První položka</shopitem> <shopitem>Druhá položka</shopitem><!--
<shopitem>Neplatná položka</shopitem>
--><shopitem>Třetí položka</shopitem>
</shop>
Pokud bych byl tím obchodníkem a věděl bych, že konkurence používá ke šmírování cen tyto primitivní nástroje, klidně bych ji vhodně vkládanými komentáři likvidoval a přitom bych se nedopouštěl ničeho špatného.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.