2. Příkazy
• Příkaz FILE – odhadnutí typu souboru
• Příkaz CAT – textový výpis souboru
• Příkaz SORT – třídění
• Příkaz GREP – vystřižení části výstupu odpovídající vzoru
3. Příkazy
• Příkaz WC – počet slov
• Příkaz TAIL / HEAD – vypíše se posledních / prvních N
řádek, +-
• Příkaz CUT – vykrojení znaků (-d<znak>) nebo polí
seznamu (-f<seznam>)
4. Regulární výrazy
• Regexp, regex či jen RE
• Řetězec popisující množinu řetězců
• Vyhledávání v textu či jeho validace
5. Atomy
• a – „Obyčejné“ znaky zastupují ve vzoru samy sebe.
• – zbavuje zvláštního význam znaku (n, r, t,..)
• . – tečka zastupuje jeden libovolný znak.
• [abc] – právě jeden znak z množiny definované v závorce
• [0-9] – interval; [^0-9] – doplněk výrazu
• ^ – začátek řádku
• $ – konec řádku
• < a > – začátek a konec slova (odpovídá hranici mezi slovy)
6. Kvantifikátory
• * – Přechozí atom se libovolněkrát opakuje
• ? – Předchozí atom se vyskytuje volitelně
• + – Předchozí atom se opakuje jednou či vícekrát
• {N} – Předchozí atom se vyskytuje právě N-krát
• {N,} – Předchozí atom se vyskytuje alespoň N-krát.
• {,N} – Předchozí atom se vyskytuje nejvýše N-krát.
• {M,N} – Předchozí atom se vyskytuje alespoň M-krát
a nejvýše N-krát.
7. Příklady
• Text v závorkách (bez vnoření):
• (.*)
• Celé číslo se znaménkem:
• [-+]?[0-9]+
• Decimální číslo (jednoduché, nepřipouští programátorské zápisy typu .14 či
3.):
• [-+]?[0-9]+(.[0-9]+)?
• Řetězec (neobsahující uvozovky a apostofy) v uvozovkách nebo apostrofech:
• (['"])[^'"]*1
• Komentář shellu (celý řádek):
• ^s*#.*$
• E-mailová adresa (jednoduchá):
• [-+._0-9A-za-z]+@([-0-9A-Za-z]+.)+.[-0-9A-Za-z]+
9. sort
• sort [soubor]
• Třídění, implicitně alfanumericky od začátku řádky
• Přepínače:
• -n numerické třídění
• -t<znak> definice oddělovače polí (implicitně mezery a
tabulator)
• -k<n>,<n> třídění podle tého pole
tee
• tee <soubor>
• posílá vstup beze změny na výstup a zároveň do souboru
10. sed
• sed [adresa]příkaz[parametry][přepínače]
• vstup po řádcích
• Příklady výrazů:
• 10d # zruší (vynechá) 10 řádku
• /^[A-Z]/d # zruší řádky začínající velkým písmenem
• s/Jan/Honza/# ve všech řádkách nahradí Jan za Honza
• 15,$a # za řádky od 15 do konce vloží řádku ***
• *** # a (append) = za řádku, i (insert) = před
• Příklad použití: ls -l / | cat –n | sed ´10,15d´ >upravena_data
12. Deskriptory a přesměrování
• Čísla kanálů
• 0 = vstup, 1 = výstup, 2 = chyby
• Příkaz m>soubor
• Přesměrování kanálů jinam (pryč, do souboru, na výstup)
• 1>dopis.txt
• Příkaz m>&n
• Chyby + data dohromady
• 1>text.txt 2>&1
• Zařízení = soubor
• Možnost přesměrování výstupu na jiné okno
• > - přepíše
• >> - doplní na konec
13. Kolony příkazů
• Výstup (1) aktuálního příkazu se vloží jako vstup (0)
následujícího příkazu
• Oddělení znakem ‚|‘
• Vypíše se výstup posledního příkazu
• ypcat passwd | grep novak | cat –n > novakove.txt