Portál AbcLinuxu, 10. května 2025 08:48

Dotaz: Jak smazat řádky?

3.7.2007 13:30 pozortucnak | skóre: 21 | blog: vecny_windowsar
Jak smazat řádky?
Přečteno: 1359×
Odpovědět | Admin
Řekněme že mám textový soubor, třeba .html.

Jak z něho mám odstranit řádky? Skoušel jsem něco pres sed ale nedařilo se. :-(
Jsem mimořádně obtížný případ
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Dalibor Smolík avatar 3.7.2007 13:34 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
třeba ve vi příkazem dd - smaže se celý řádek, na němž je kurzor.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
3.7.2007 13:42 thingie
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
No tak třeba > soubor, pak tam nebude vůbec nic, tedy ani žádné řádky, které budou odstraněny a zadání splněno :-)
3.7.2007 14:03 pozortucnak | skóre: 21 | blog: vecny_windowsar
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já mám na mysli pouze smazáni odřádkování (enter), text chci zachovat :-)

např z tohohle
kukuc
baf baf baf
ha ha
potřebuji udělat toto
kukuc baf baf baf ha ha
Jsem mimořádně obtížný případ
3.7.2007 14:17 utri | skóre: 6
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
cat soubor | tr -d "\n" > novy_soubor
wolf09 avatar 3.7.2007 14:56 wolf09 | skóre: 30
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
mozna jeste lepe :

tr '\n' ' ' < soubor |tr -s ' ' > soubor_novy

tohle vam nezmasti dohromady slova ze dvou radku, pokud jeden radek konci bez mezery a druhy zacina bez mezery:
aaa bbb
ccc ddd
Zkusili jste to vypnout a znovu zapnout ?
3.7.2007 14:57 jm
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed -i ':a;N;$!ba;s/\n/ /g' soubor
3.7.2007 20:57 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Sed mám sice rád, ale na tohle bych moc nesázel. Velikost bufferu bude imho docela omezená.
3.7.2007 23:14 jm
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Jak jsem psal dole, sed se na tohle moc nehodi. Proof of concept. :P
4.7.2007 06:08 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Podíval jsem se do FAQ a s tou velikostí bufferu to není vždy tak zlé, jak jsem myslel, takže to o té omezenosti beru zpět. V každém případě stále doporučuji tr :)
6.6.2. Maximum size for all buffers (pattern space + hold space)

      GNU sed:        no limit
      ssed:           no limit
      sedmod v1.0:    4096 bytes
      HHsed v1.5:     4000 bytes
      sed v1.6:       [pending]

3.7.2007 15:13 pozortucnak | skóre: 21 | blog: vecny_windowsar
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Super díky funguje to.

Můžete mi prosím vysvětlit co je ta utilita tr?

A takové použití utiliti sed také vidém poprvé...
Jsem mimořádně obtížný případ
3.7.2007 15:18 thingie
Rozbalit Rozbalit vše Re: Jak smazat řádky?
tr není v zásadě nic než tupé nahrazení jednoho znaku druhým.
3.7.2007 15:23 jm
Rozbalit Rozbalit vše Re: Jak smazat řádky?
sed cte soubor po jednotlivych radkach -> na dany ukol zrovna neni nejvhodnejsi. :-)
3.7.2007 15:48 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Odpovědět | | Sbalit | Link | Blokovat | Admin
tak len aby reč nestála :-)
perl -npl040e1 subor.html
David Watzke avatar 3.7.2007 15:56 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jak smazat řádky?
LOL... Perl je nejlepší :-D
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
3.7.2007 21:03 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jak smazat řádky?
Perl, omg :D Jednoznačně tr '\n' ' ' < file
3.7.2007 18:03 ams
Rozbalit Rozbalit vše Re: Jak smazat řádky?
To pismenko "n" je tam zbytecne ;)

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.