Sed: Porovnání verzí

Smazaný obsah Přidaný obsah
m Robot: sjednocení formátování
upraven, deinsanitizován, zjednodušen, "lokalizován" a rozšířen/zobecněn zavádějící příklad, +ref; −smetí zanesené r. 2015
Řádek 62:
Mějme následující text:
 
Tohle je moje kočka,
moje kočkajmenuje se jmenuje bettyMicina
Tohle je můj pes,
můj pesjmenuje se jmenuje FrankŽeryk
 
A tady je příkaz:
 
$ sed 'N; s/\n //g;P;D;'
 
Výsledek je zde:
 
Tohle je moje kočka, moje kočkajmenuje se jmenuje bettyMicina
Tohle je můj pes, můj pesjmenuje se jmenuje FrankŽeryk
 
Pro obecný případ připojování vícero následujících řádků s mezerami (a libovolného počtu) na začátku je potřeba použít složitější konstrukci jako:{{Poznámka|U starších/ne-GNU implementací je potřeba respektovat nemožnost zakončení značky středníkem, také jiné chování <code>N</code> pro poslední řádek, takže příkaz by vypadal: <code>sed -e ':a' -e '$!N; s/\n */ /; ta' -e 'P; D'</code>.<ref>{{Citace elektronické monografie
| titul = sed, a stream editor
| url = https://www.gnu.org/software/sed/manual/sed.html#Joining-lines
| vydavatel = GNU
| datum_přístupu = 2021-12-30
| kapitola = 7.1 Joining lines
}}</ref>
}}
 
sed ':a; N; s/\n */ /; ta; P; D'
 
Kde
* <code>:a</code> : nastaví značku <code>a</code>
* <code>N</code> : přečte další řádek
* <code>s</code> : je nahrazení
* <code>\nt</code> : vyhovujepodmíněný znakskok novéhona řádku (\n) a&nbsp;mezeraznačku
* <code>P</code> : vytiskne další řádek, který je zpracován
* <code>:D</code> : jej smaže, takže není vytištěn dvakrát
 
== Poznámky ==
Výsledek je zde:
{{Poznámky}}
 
== Reference ==
Tohle je moje kočka moje kočka se jmenuje betty
<references />
Tohle je můj pes můj pes se jmenuje Frank
 
== Literatura ==