| n | Riadok cislo n. |
| +n | Riadok o n riadkov za aktualnym. |
| -n | Riadok o n riadkov pred aktualnym. |
| $ | Posledny riadok. |
| /regexp/ | Najblizsi nasledujuci riadok obsahujuci retazec matchujuci regularny vyraz regexp. |
| a | Add. Zacni vkladat text za riadok. Vkladanie sa ukonci bodkou na samostatnom riadku. |
| i | Insert. Zacni vkladat text pred riadok. Vkladanie sa ukonci bodkou na samostatnom riadku. |
| d | Delete. Zmaz riadok (riadky s dvojicou adries). |
| s/regexp/text/ | Substitute. Nahrad regularny vyraz textom. |
| p | Print. Zobraz riadok (riadky s dvojicou adries). |
| w | Write. Zapis subor. |
| q | Quit. Ukoncenie prace s editorom. |
| sed -e command | ||||||||||||||
| sed -e command subor | ||||||||||||||
|
Prikaz sed je neinteraktivny editor textovych suborov, alebo standardneho vstupu.
Dokaze automaticky
vykonat jednoduche modifikacie textoveho suboru popisane ako command
a vysledny text vypise na standardny vystup. Syntax parametra command je v zasade
zhodna s prikazmi editora ed.
Command je zlozeny z dvoch casti: adresa a prikaz.
Adresa urcuje na ktoru cast suboru sa prikaz aplikuje, napriklad:
Prikaz urcuje aka operacia sa ma vykonat nad castou textu urcenom adresou, napriklad:
Priklady. Prikaz: sed -e s/\\bstaremeno\\b/novemeno/g main.c > novymain.cnahradi v subore main.c vsetky vyskyty slova staremeno slovom novemeno a vysledny text zapise do suboru novymain.c. Prikaz: ls -al | sed -e 2,4s/\\./\$\$\$/gvypise pracovny adresar, ale v druhom, tretom a stvrtok riadku bude znak '.' nahradeny retazcom $$$. Prikaz: ls -al | sed -e 's/\(.*\)\..*/\1/g'vypise pracovny adresar, ale subory budu bez koncoviek. Prikaz: grep "^From:" mbox | sed -e 's/.*<\(.*\)>.*/\1/g'prehlada subor mbox (predpklada sa, ze tento subor je mailovy box v ktorom su ulozene emaily) a vypise email adresy vsetkych odosielatelov. |
| sipky alebo h,j,k,l | Posuvanie sa v texte |
| i | (insert) Prechod do rezimu vkladania textu, pred dany znak |
| a | (insert) Prechod do rezimu vkladania textu, za dany znak |
| oo | Prechod do rezimu vkladania textu, za dany riadok |
| x | Zmaz znak |
| dd | Zmaz riadok |
| : | Prechod do prikazove rezimu |
| w | (write) Zapis suboru |
| q | (quit) Ukoncenie editacie |
| q! | (quit) Ukoncenie editacie aj bez ulozenia zmien. |
| h | (help) Pomoc |
| vi | (visual) Prechod do visualneho rezimu |
| AaBb ... | Znaky sa vkladaju do editovaneho textu |
| Control [ | Prechod do visualneho rezimu |
|
1.) Skopirujte nasledovny subor main.c do svojho domovskeho adresara a editorom vi v nom zmente meno funkcie 'fun' na 'fcia' a to v mieste definicie aj na vsetkych vyvolaniach. 2.) Editorom ed otvorte subor main.c a zmente v nom navratovu hodnotu funkcie main z 0 na 1. 3.) Napiste prikazovy riadok, ktory za pomoci editora ed
vymaze druhy riadok suboru main.c
-rw-r--r-- 1 vittek vittek 1641 Oct 22 17:24 c2.txtvypise: -rw-r--r-- 1 vittek vittek 1641 Oct 22 17:24 c2.txt 5.) Napiste prikaz, ktory prefiltruje vystup prikazu ls tak, ze namiesto suborov vypise iba ich koncovky. Napriklad, namiesto suboru c2.txt vypise iba txt. |