Portál AbcLinuxu, 7. května 2025 14:45

Dotaz: Spojení řádků v jeden (sed, awk…)

24.1.2008 11:45 jsk
Spojení řádků v jeden (sed, awk…)
Přečteno: 1972×
Odpovědět | Admin
Zdravím, nějak mi nejde spojit jednotlivé řádky, mám soubor v XML a potřebuji ho v jisté fázi sloučit na 1 řádek. Zkoušel jsem sed a awk, ale nepochodil jsem. Regulární výrazy mi celkem jdou, ale tady se jen trápím. Díky za radu předem Pepa
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.1.2008 11:56 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Spojení řádků v jeden (sed, awk…)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak trvas na sede, tak
sed -n 'H; $x; $s/\n//gp'
Inak sa to tu riesilo max. pred 2 mesiacmi a boli tam aj pamatovo efektivnejsie riesenia.
If you hold a Unix shell up to your ear, you can you hear the C.
24.1.2008 13:05 jsk
Rozbalit Rozbalit vše Re: Spojení řádků v jeden (sed, awk…)
Díky, moc jste mi pomohl, se sed-em dělám teprve pár dní a Vaše rada mi vyřešila zatím nejzávažnější problém. jsk
zoul avatar 24.1.2008 12:23 zoul | skóre: 43 | blog: | Boskovice
Rozbalit Rozbalit vše Re: Spojení řádků v jeden (sed, awk…)
Odpovědět | | Sbalit | Link | Blokovat | Admin
tr -d '\n' < vstup.xml
24.1.2008 14:47 jsk
Rozbalit Rozbalit vše Re: Spojení řádků v jeden (sed, awk…)
Děkuji, jen mi prosím poraďte jak to dostanu do souboru, přesměrování: > xy.xml dává původní soubor. Díky jsk
zoul avatar 24.1.2008 15:29 zoul | skóre: 43 | blog: | Boskovice
Rozbalit Rozbalit vše Re: Spojení řádků v jeden (sed, awk…)
Příkaz tr -d '\n' < vstup.xml > výstup.xml by měl fungovat bez problémů (nebo třeba cat vstup.xml | tr -d '\n' > výstup.xml, což je totéž, ale pro někoho třeba přehlednější).
24.1.2008 15:40 jsk
Rozbalit Rozbalit vše Re: Spojení řádků v jeden (sed, awk…)
Pořád mi to na výstupu dává vstup (v obou případech), provozuji to pod gygwin-em (tr (GNU coreutils) 6.9), ale to by neměl být ten problém. Díky jsk
zoul avatar 24.1.2008 15:54 zoul | skóre: 43 | blog: | Boskovice
Rozbalit Rozbalit vše Re: Spojení řádků v jeden (sed, awk…)
Aha, to by mohl být ten problém. Nejsou v tom souboru dosové konce řádků? V tom případě asi něco jako tr -d '\r\n'.
25.1.2008 07:47 jsk
Rozbalit Rozbalit vše Re: Spojení řádků v jeden (sed, awk…)
Díky, teď už to jede, nevím proč jsem přidání \r při pokusech s tr vynechal (asi proto, že při nahrazení v sed-u mi to nic nedělalo) —> budu si dělat lepší poznámky (na papír(;–)). Díky jsk
24.1.2008 16:00 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Spojení řádků v jeden (sed, awk…)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obvykle to dělám ve vimu. Otevřít, Shift-V visual režim, G skok na konec souboru (označí se vše), J nahradí konce řádků za mezery.

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.