Sed: Porovnání verzí
Smazaný obsah Přidaný obsah
oprava ve skriptu nešel spustit kvůli neukončené jednoduché uvozovce |
optimalizace kódu; oprava kódu; kosmetické úpravy |
||
Řádek 69:
Kromě ''prostoru pro vzorky'' používá ještě ''zásobník (buffer)'' do kterého lze během zpracování odkládat data pro další zpracování. Před vlastním zpracováním je pak třeba data ze ''zásobníku'' přesunout do ''prostoru pro vzorky'', teprve pak je možné je dále zpracovávat.
{| class="wikitable"
|-▼
! Příkaz
! Příklad použití
! Popis
|-
! p
| <pre
user@stroj:~/$ echo 'Zpracovávaný řádek' |sed '
p;s/Zpracovávaný/Upravený/'
Zpracovávaný řádek
Upravený řádek
| Příkaz vypisuje obsah ''prostoru pro vzorky''. V uvedeném příkladu byl příkazem '''p''' na standardní výstup vypsán obsah ''prostoru pro vzorky'' před jeho zpracováním.
|-
! h
| <pre
user@stroj:~/$ echo 'Zpracovávaný řádek' |sed '
h;s/Zpracovávaný/Upravený/;g'
Zpracovávaný řádek
|
|-
! H
| <pre
user@stroj:~/$ echo 'Zpracovávaný řádek' |sed '
H;s/Zpr/Upr/;H;s/acov/av/;H;s/áva/e/;H;g'
Řádek 100:
Upravávaný řádek
Upravený řádek
|
|-
! g
| <pre
user@stroj:~/$ echo 'Zpracovávaný řádek' |sed '
g'
Řádek 116:
Zpracovávaný řádek
Upravený řádek
| Příkaz vypíše obsah ''zásobníku'' a pak ho z něj odstraní. Jak funguje už sice docela objasňují příklady uvedené u předchozích příkladů, ale aby to bylo dostatečně zřejmé přidal jsem ještě další dva. V prvním příkaz '''g''' vypíše prázdný řádek, protože ''zásobník'' je zatím prázdný. Ve druhém příkladu příkaz '''p''' vypsal obsah ''prostoru pro vzorky'' aby bylo patrné že ten prázdný není. Teprve ve třetím příkladu je upravený obsah ''prostoru pro vzorky'' vložen příkazem ''h'' do ''zásobníku'', odkud může být příkazem '''g''' vypsán.
|-
! G
| <pre
user@stroj:~/$ echo 'Zpracovávaný řádek' |sed '
G'
Řádek 135:
Upravený řádek
Upravený řádek
| Příkaz připojí obsah ''prostoru pro vzorky'' k obsahu ''zásobníku'', ten pak vypíše.
|-
! x
| <pre
user@stroj:~/$ echo 'Zpracovávaný řádek' |sed '
x'
Řádek 151:
Zpracovávaný řádek
Upravený řádek
| Příkaz prohodí obsah ''zásobníku'', s obsahem ''prostoru pro vzorky''.
▲|-
|}
Řádek 238 ⟶ 237:
}'
</pre>
== Vícenásobné zpracování vstupu ==
Řádek 262 ⟶ 259:
==Skripty==
V případě složitějších konstrukcí je výhodnější než na příkazový řádek zapsat soubor příkazů do zvláštního souboru. V něm se každý příkaz píše na nový řádek, tudíž je není nutné oddělovat středníky.
Řádek 300 ⟶ 296:
'''Příkazy pro základní editaci'''
{| class="wikitable"
|-
! příkaz
! popis příkazu
Řádek 345 ⟶ 341:
'''Informace o zpracovávaných řádcích'''
{| class="wikitable"
|-
! příkaz
! popis příkazu
Řádek 387 ⟶ 383:
== Sed - nahrazeni retezce promennou ==
read zmena
read new
sed -e 's/'"$zmena"'/'"$new"'/' kontakty.db
[[Kategorie:Linux]]
|