Sed: Porovnání verzí

Smazaný obsah Přidaný obsah
Jedudedek (diskuse | příspěvky)
m typo
typos
Řádek 1:
[[Special:Whatlinkshere/sed | Odkaz na stránky které sem odkazují]]
 
'''sed''' (název vychází ze zkratky "'''s'''tream '''ed'''itor") je jednoduchá, ale mocnámocný utilitanástroj, která provádí nahrazování vzorků v proudu textových dat. Vstupní soubor je načítán po jednotlivých řádcích a na každý z nich sed postupně aplikuje pravidla napsaná v jednoduchém programovacím jazyce. Výstup pak zapisuje na standartnístandardní výstup (obvykle okno terminálu). Původní sed naprogramoval Lee E. McMahon v letech 1973-74.
 
= Použití =
Řádek 13:
== Jak pracuje sed ==
 
Sed postupně načítá ze vstupního proudu dat jednotlivé řádky. Zdrojem vstupního proudu dat může být jednak soubor, ale také proud dat předávaný [[Bash#Roury (pípy, pipelines), také zřetězení|rourou]]. Podobně jako [[awk]], '''sed''' řádky před aplikací příkazů analyzuje. VyhovíliVyhoví-li řádek ''adrese'', tak jej uloží do ''prostoru pro vzorky'', který pak zpracovává podle nastavených příkazů. ''Adresou'' mohou být vzorky, nebo rozsah podle čísel řádku. Pokud není tzv. ''adresa'' uvedena, zpracovává sed postupně všechny načítané řádky.
 
== Syntaxe ==
 
Mezi nejčastěji používané příkazy patří nahrazování řetězců (substituce), takže tento příkaz použijupoužiji pro demonstraci i v následujících ukázkách.
 
;Příklad použití na příkazovém řádku
Řádek 39:
=== Oddělovače ===
 
Jako oddělovač se nečastějinejčastěji používá znak "/" ale lze také použít "_" nebo "|". Zlepšuje to čitelnost zvláště v takových případech, kdy by byl stejný znak použitý i u zpracovávaných vzorků. V takových případech je nutno ošetřit tyto znaky zpětným lomítkem "\" nicméně posuďte sami jaká je přehlednost takového zápisu viz následující příklad:
 
;Příklad
Řádek 123:
Upravený řádek
</nowiki></pre>
| Příkaz vypíše obsah ''zásobníku'' a pak ho z něj odstraní. Jak funguje už sice docela objasnují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.
|-
| style="text-align:center" | '''G'''
Řádek 296:
 
 
;Poznámka : V sadách příkazů pro sed lze používat také komentáře. Podobně jako [[bash]] považuje '''sed''' za komentář všechny řádky, které značínajízačínají znakem "#"
 
== Adresy ==