1 / 54

Unix

Unix. Príkazy pre prácu s textom. Príkazy pre prácu s textom:. sed awk. colrm column cut paste tr sort. Úvod. unix - mnoho príkazov: vstup - štandardny vstup vystup - štandardný výstup Ako uchovať text zo štandardného výstupu ? presmerovať výstup do súboru ( > )

vea
Download Presentation

Unix

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unix Príkazy pre prácu s textom

  2. Príkazy pre prácu s textom: • sed • awk • colrm • column • cut • paste • tr • sort Unix - príkazy pre prácu s textom (Tomáš Karas)

  3. Úvod unix - mnoho príkazov: vstup - štandardny vstup vystup - štandardný výstup Ako uchovať text zo štandardného výstupu ? • presmerovať výstup do súboru ( > ) Ako dostať obsah súboru na vstup programu ? • presmerovať vstup programu ( < ) Unix - príkazy pre prácu s textom (Tomáš Karas)

  4. Úvod Ako spojiť výstup jedného programu zo vstupom druhého programu ? • dátovodom (pipe, rúra, znak | ) • použitím dočasného súboru Dočasné súbory: • vytvárať v adresári /tmp • v názve použiť znak $$ - význam pid • jednoznačný názov v systéme • pred skončením vymazať Unix - príkazy pre prácu s textom (Tomáš Karas)

  5. Úvod Premenné: • uloženie výstupu príkazu do premennej (set,``) set meno = `ls -l` • sprístupnenie obsahu premennej ($) • vypísanie obsahu premennej (echo + sprístupnenie) echo $meno Unix - príkazy pre prácu s textom (Tomáš Karas)

  6. Príkaz colrm • zruší vybrané stĺpce z textu • vstupom je štandardný vstup • výstupom je štandardný výstup Unix - príkazy pre prácu s textom (Tomáš Karas)

  7. Príkaz colrm Použitie: colrm [štart [stop]] • stĺpcom sa chápe jeden znak na riadku • číslovanie stĺpcov sa začína od 1 • štart - vyjadruje prvý stĺpec, ktorý sa má zrušiť • stop - vyjadruje posledný stĺpec, ktorý sa má zrušiť • ak nie je pozícia stop zadaná tak sa pokračuje až do konca riadku Unix - príkazy pre prácu s textom (Tomáš Karas)

  8. Príklad colrm >colrm 3 5 123456789 126789 <eof> >colrm 2 123456 1 > ?: Vysvetlivky: > - znak, ktorým sa hlási operačný systém (prompt) rovné písmená - text zadávaný užívateľom šikmé písmená - výstup programu <eof> - príznak konca súboru (na niektorých termináloch Ctrl D) Unix - príkazy pre prácu s textom (Tomáš Karas)

  9. Príkaz column • naformátuje vstupný text do stĺpcov • vstupom je štandardný vstup alebo súbor zadaný ako argument Unix - príkazy pre prácu s textom (Tomáš Karas)

  10. Príkaz column Použitie: column [-tx] [-c col] [-s sep] [súbor...] -t vytvorí tabuľku (vyrovná stĺpce) -x zlúči stĺpce z viacerých riadkov -c col naformátuje výstup na šírku col stĺpcov -s sep predpíše znaky, ktoré budú použité na oddelenie stĺpcov pri parametri -t Unix - príkazy pre prácu s textom (Tomáš Karas)

  11. Príklad column >column -t miso jano fero maja jozo 3 4 3 5 2 <eof> miso jano fero maja jozo 3 4 3 5 2 > ?: Vysvetlivky: > - znak, ktorým sa hlási operačný systém rovné písmená - text zadávaný užívateľom šikmé písmená - výstup programu <eof> - príznak konca súboru Unix - príkazy pre prácu s textom (Tomáš Karas)

  12. Príkaz cut • vyberie zvolené stĺpce z textu • vstupom je štandardný vstup alebo súbor Unix - príkazy pre prácu s textom (Tomáš Karas)

  13. Príkaz cut Použitie: cut -c list [súbor...] cut -f list [-d delim] [-s] [súbor...] list špecifikuje stĺpce, ktoré sa majú vybrať -c stĺpce sú chápané ako jednotlivé znaky -f stĺpce sú chápané ako znaky oddelené tabulátormi -d delim určuje oddeľovací znak, ktorý sa použije namiesto tabulátora Unix - príkazy pre prácu s textom (Tomáš Karas)

  14. Príkaz cut -s riadky neobsahujúce oddeľovací znak zostanú bez zmeny Unix - príkazy pre prácu s textom (Tomáš Karas)

  15. Príklad cut cut -c 2,4,7 12345678 247 <eof> > ?: Vysvetlivky: > - znak, ktorým sa hlási operačný systém rovné písmená - text zadávaný užívateľom šikmé písmená - výstup programu <eof> - príznak konca súboru Unix - príkazy pre prácu s textom (Tomáš Karas)

  16. Príkaz paste • spojí riadky súborov • vstupom sú súbory alebo štandardný vstup Unix - príkazy pre prácu s textom (Tomáš Karas)

  17. Príkaz paste Použitie: paste [-s] [-d list] súbor... -s spojenie riadkov súborov v takom poradí v akom sú na príkazovom riadku -d list zoznam obsahuje znaky, ktoré sa použijú na oddeľovanie riadkov jednotlivých súborov (cyklicky) Unix - príkazy pre prácu s textom (Tomáš Karas)

  18. Príklad paste súbor a.txt - obsahuje text 11prvy 11druhy 12prvy 12druhy súbor b.txt - obsahuje text 21prvy 21druhy 22prvy 22druhy Unix - príkazy pre prácu s textom (Tomáš Karas)

  19. Príklad paste >paste a.txt b.txt 11prvy 11druhy 21prvy 21druhy 12prvy 12druhy 22prvy 22druhy > ?: Vysvetlivky: > - znak, ktorým sa hlási operačný systém rovné písmená - text zadávaný užívateľom šikmé písmená - výstup programu Unix - príkazy pre prácu s textom (Tomáš Karas)

  20. Príkaz tr • filtruje alebo zamieňa znaky • vstupom je štandardný vstup Unix - príkazy pre prácu s textom (Tomáš Karas)

  21. Príkaz tr Použitie: tr[prepínače] reťazec1 [reťazec2] Prepínače: -d znaky zadané v parametri reťazec1 budú vymazané -c vytvorí doplnok množiny znakov v parametri reťazec1 -s zruší viacnásobný výskyt reťazca zadaného ako parameter reťazec1 alebo reťazec2 vo vstupe Unix - príkazy pre prácu s textom (Tomáš Karas)

  22. Príkaz tr -u výstup nebude zdržiavaný vo vyrovnávacej pamäti Unix - príkazy pre prácu s textom (Tomáš Karas)

  23. Príklad tr >tr “[:lower:]“ “[:upper:]“ MweFd23 MWEFD23 <eof> > ?: Vysvetlivky: > - znak, ktorým sa hlási operačný systém rovné písmená - text zadávaný užívateľom šikmé písmená - výstup programu <eof> - príznak konca súboru Unix - príkazy pre prácu s textom (Tomáš Karas)

  24. Príklad tr tr -cd “[:print:]“ < subor - odfiltruje netlačitelné znaky zo súboru tr -cs “[:alpha:]” “\n“ < subor - vytvorí zoznam slov zo suboru - každé slovo na jednom riadku - slovo je retazec písmen Unix - príkazy pre prácu s textom (Tomáš Karas)

  25. Príkaz sort • usporiada riadky textového súboru • vstupom je súbor alebo štandardný vstup ?: Len všeobecný tvar, kvôli priveľkému počtu prepínačov a ich parametrov. Kompletný tvar: sort [-cmus] [-t separator] [-o output-file] [-T tempdir] [-bdfiMnr] [+POS1[-POS2]] [-k POS1[,POS2]] [file...] Unix - príkazy pre prácu s textom (Tomáš Karas)

  26. Príkaz sort Použitie: sort prepínače-parametre [súbor...] Pracuje v jednom z troch módov: • usporiadanie (implicitný mód) • test usporiadania prepínač -c • zlučovanie a triedenie súborov po skupinách prepínač -m Unix - príkazy pre prácu s textom (Tomáš Karas)

  27. Príklad sort >sort jano andrej <eof> andrej jano > ?: Vysvetlivky: > - znak, ktorým sa hlási operačný systém rovné písmená - text zadávaný užívateľom šikmé písmená - výstup programu <eof> - príznak konca súboru Unix - príkazy pre prácu s textom (Tomáš Karas)

  28. Príklad sort súbor mena - obsahuje text jano andrej miso fero Unix - príkazy pre prácu s textom (Tomáš Karas)

  29. Príklad sort >sort -c mena sort: disorder on mena > ?: Vysvetlivky: > - znak, ktorým sa hlási operačný systém rovné písmená - text zadávaný užívateľom šikmé písmená - výstup programu Unix - príkazy pre prácu s textom (Tomáš Karas)

  30. Príkaz sed • dávkový editor • vstupom je súbor alebo štandardný vstup • výstupom je štandardný výstup Unix - príkazy pre prácu s textom (Tomáš Karas)

  31. Príkaz sed Použitie: sed prepínače príkazy [súbory] príkazy - príkazy programu sed súbory - súbor s príkazmi - súbory s upravovaným textom Unix - príkazy pre prácu s textom (Tomáš Karas)

  32. Príkaz sed Prepínače: -e príkaz - pridá príkaz k zoznamu príkazov -f súbor - pridá príkazy zo súboru k zoznamu príkazov -n - potlačí vypisovanie výstupných riadkov na výstup Unix - príkazy pre prácu s textom (Tomáš Karas)

  33. Príkaz sed Formát príkazov programu sed: [adresa[,adresa]]funkcia[argumenty] adresa - číslo riadku v súbore od začiatku, na ktorom sa daná funkcia vykoná bez adresy - funkcia sa vykoná na všetkých riadkoch znak $ - špeciálna adresa - posledný riadok posledného súboru Unix - príkazy pre prácu s textom (Tomáš Karas)

  34. Príkaz sed Funkcie: d - vybraný riadok sa nezobrazí - vykonávanie príkazov začne od začiatku n - zobrazí riadok a prejde na ďalší riadok vstupného súboru a - pripojí text k vybranému riadku p - vypíše vybraný riadok na výstup - ignoruje nastavenie prepínača -n Unix - príkazy pre prácu s textom (Tomáš Karas)

  35. Príkaz sed Funkcie: (pokračovanie) w subor - podobne ako funkcia p ale výstup je posielaný do súboru r subor - obsah súboru pripojí k vybranému riadku a text - ku vybranému riadku pripojí text Unix - príkazy pre prácu s textom (Tomáš Karas)

  36. Príklad sed subor pokus.txt - obsahuje text riadok jedna riadok dva treti riadok 4. riadok riadok 5 Unix - príkazy pre prácu s textom (Tomáš Karas)

  37. Príklad sed >sed -n ‘2,4 p’ pokus.txt riadok dva treti riadok 4. riadok > ?: Vysvetlivky: > - znak, ktorým sa hlási operačný systém rovné písmená - text zadávaný užívateľom šikmé písmená - výstup programu Unix - príkazy pre prácu s textom (Tomáš Karas)

  38. Príklad sed >sed ‘2 a nove’ pokus.txt riadok jedna riadok dvanove treti riadok 4. riadok riadok 5 > ?: Vysvetlivky: > - znak, ktorým sa hlási operačný systém rovné písmená - text zadávaný užívateľom šikmé písmená - výstup programu Unix - príkazy pre prácu s textom (Tomáš Karas)

  39. Príkaz awk • vyhľadávanie vzorov v texte a vykonávanie akcií • vlastný jazyk pre prácu s textom • mnoho konštrukcií je podobných s C Unix - príkazy pre prácu s textom (Tomáš Karas)

  40. Príkaz awk Použitie: awk -f programovýsúbor [súbory] awk program [súbory] Prepínač -f - program sa načíta z programového súboru Unix - príkazy pre prácu s textom (Tomáš Karas)

  41. Príkaz awk Formát programu pre awk: vzor { akcia } vzor { akcia } ...... ........... • vzor vyberá riadky zo vstupného súboru • na vybranom riadku sa vykoná akcia • ak nie je uvedený vzor akcia sa vykoná na všetkých riadkoch • ak nie je uvedená akcia riadky sa prekopírujú na výstup Unix - príkazy pre prácu s textom (Tomáš Karas)

  42. Príkaz awk Vzory: • regulárne výrazy • provnávacie operátory < <= == != >= > • logické operátory || && • interval riadkov dva vzory oddelené čiarkou • „BEGIN“ akcie sa vykonajú na začiatku • „END“ akcie sa vykonajú na konci Unix - príkazy pre prácu s textom (Tomáš Karas)

  43. Príkaz awk Vzory: (pokračovanie) $číslo - určuje stĺpec v riadku • ~ - vzor sa nachádza v prvom stĺpci # označenie komentára Unix - príkazy pre prácu s textom (Tomáš Karas)

  44. Príkaz awk Akcie: print - vytlačí riadok na výstup • ten možno presmerovať do súboru operátormi > >> • alebo do iného programu operátorom | • $číslo vyberá jeden stĺpec z riadku Unix - príkazy pre prácu s textom (Tomáš Karas)

  45. Príkaz awk Premenné: • umožňuje použiť premenné • NR číslo aktuálneho riadku • $0 aktuálny riadok • NF počet polí v aktuálnom riadku • $1-$n polia v aktuálnom riadku • FS oddeľovač polí na vstupe • OFS oddeľovač polí na výstupe Unix - príkazy pre prácu s textom (Tomáš Karas)

  46. Príkaz awk Premenné: (pokračovanie) • RS oddeľovač riadkov (záznamov) na vstupe • ORS oddeľovač riadkov na (záznamov) výstupe • FILENAME meno vstupného suboru Unix - príkazy pre prácu s textom (Tomáš Karas)

  47. Príkaz awk Funkcie: • length(reťazec) - dĺžka reťazca • int(číslo) - celá časť čísla • index(R1,R2) - vráti pozíciu, kde začína reťazec R2 v reťazci R1 • split(R,P,O) - ukladá prvky R oddelené O do poľa P • substr(R,P,L) - vráti podreťazec R začínajúci na pozícii P dĺžky L Unix - príkazy pre prácu s textom (Tomáš Karas)

  48. Príkaz awk Funkcie: (pokračovanie) • match(S,R) - vráti pozíciu reťazca R v reťazci S - nulu ak sa nenachádza • tolower(R) - skonvertuje reťazec na malé písmená • toupper(R) - skonvertuje reťazec na veľké písmená Unix - príkazy pre prácu s textom (Tomáš Karas)

  49. Príkaz awk Operátory: • ako v jazyku C • * /% + = ++ -- • += -= *= /= %= Unix - príkazy pre prácu s textom (Tomáš Karas)

  50. Príkaz awk Asociatívne polia: • indexami sú reťazce • prístup do poľa: pole [ reťazec ] = hodnota Unix - príkazy pre prácu s textom (Tomáš Karas)

More Related