Sed: Porovnání verzí

Smazaný obsah Přidaný obsah
Řádek 48:
</pre>
 
=== ProměnnéSed a proměnné ===
 
Sed jako takový s proměnnými nepracuje, ale používá tzv. ''buffer''
 
Jak funguje si můžete všimnout při použití příkazu "x" (záměna)
 
Ačkoliv to na první pohled vypadá, že se výstup nijak nezměnil, není tomu tak. Poznáte to, když si pozorně porovnáte výstup s originálním souborem. Zatímco na začátku přibyl jeden prázdný řádek, na konci jeden naopak chybí. Proč?
 
První řádek je prázdný proto, že při spuštění příkazu byl buffer prázdný takže řádek co se do něj vložil je nahrazen prázdným řádkem. A poslední schází proto, že zůstal v bufferu.
 
<pre>
#!/bin/bash
case $# in
1);;
*) echo "Použití: $0 vzorek";exit;;
esac;
sed -n '
'/$1/' !{
x
d
}
'/$1/' {
x
p
x
p
n
p
a\
---
x
}'
</pre>
 
<pre>
#!/bin/bash
case $# in
1);;
*) echo "Použití: $0 vzorek";exit;;
esac;
sed -n '
'/$1/' !{
h
}
'/$1/' {
H
n
H
x
p
a\
---
}'
</pre>
 
=== Závorky ===