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. |