Portál AbcLinuxu, 5. května 2025 23:10

Dotaz: Jak smazat enter (0x0A) SEDem

19.5.2005 12:22 Jura
Jak smazat enter (0x0A) SEDem
Přečteno: 1660×
Odpovědět | Admin
Dobry den,

nemohu prijit na to, jak smazat SEDem "enter" asi znak 0x0A na konci radku. Mazani \n nefungure ani \0x0A ....

Dekuji za pomoc

Jura
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.5.2005 13:24 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Musí to být sedem?
tr -d '\n'
19.5.2005 13:51 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pattern space AFAIK koncový \n nikdy neobsahuje, tudíž se sedem se nejblíž zrušení \n můžeš dostat:
sed -ne 'H;${x;s/\n//g;p}'
Zbude jeden na konci.
19.5.2005 14:37 Jirka Dušek
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
Děkuji, funguje to, ale jen na řadce. Jak má vypadat prikaz když to volám jako script file sed -f ./soubor ....

H;${ x; s/\n//g; p }

tohle mi nefunguje...

Děkuji

Jura
19.5.2005 16:04 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
#!/bin/sed -nf

H;${ x; s/\n//g; p }
Takhle mi to funguje. Pak jsem našel nějaký sed FAQ:
#!/bin/sed -f

:a;N;$!ba;s/\n//g
To mi funguje taky, jenom nevím jak :-)
19.5.2005 16:15 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
začíná se to podobat dc :-)
19.5.2005 16:21 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
Existuje impmentace dc v sedu (viz např. Overview of How the dc.sed Script Works). Ale na pochopení musíš být expert jak na sed, tak na dc...
19.5.2005 16:29 jm
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
166 :-)
19.5.2005 16:19 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
:a je návětší

N přidá řádek do pattern space

$!ba skočí na :a, pokud nejsme na konci souboru: $ je konec souboru, ! je negace (GNU extension), b je nepodmíněný skok a a je návětší, kam skočit

s/\n//g zlikviduje ty \n
19.5.2005 16:56 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
Díky za doplnění mezer ve vzdělání, asi jsem chyběl :-)
19.12.2006 16:16 Terka | skóre: 13
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
a šlo by enter nahradit něčím jiným?
19.5.2005 15:45 Semo
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed 's/\xa0//g'
19.5.2005 15:50 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Jak smazat enter (0x0A) SEDem
Jak yeti napsal výše, tohle nemůže fungovat.

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.