Lekce 7 - textové nástroje a regulární výrazy
  
  Textové nástroje
  - textové editory       mcedit, joe, ed, vi
 
      - výstup celého souboru cat, tac, nl, od, more, less, tee
 
      - výstup části souboru  head, tail, split, cut, paste
 
      - zpracování po řádcích sort, grep, egrep, sed, uniq
 
      - zpracování po znacích tr
 
      - porovnávání obsahu    cmp, diff, patch
 
      - sumarizace            wc, sum, md5sum
 
      - programovací jazyk    awk (Alfred Aho, Peter Weinberger, Brian Kernighan)
 
  
    
  
  
  Regulární výrazy - regexp, RE
  - vzorek pro porovnání s řetězcem (NENÍ to maska pro shellovskou expanzi jmen)
 
      - vyhodnocuje program
 
      - existují standardní (grep) a rozšířené (egrep) 
 
  
  vyhodnocení
  - vyhodnocují se zleva
 
      - rozlišují a/A
 
      - jsou hladové (žravé)
 
      - mají paměť
 
      - používají řídící znaky (znak '\' někdy ruší a někdy přidává řídící význam následujícího)
 
  
  sestavení
  - jednoznakový RE:
          
- konstantní znak  'a'
 
	      - libovolný znak   '.'
 
	      - 1 znak z množiny '[aeiouy]'
 
	  
       
      - řetězení 'abc' ... 3 jednoznakové RE v tomto pořadí
 
      - ukotvení '^' '$' '\<' '\>'
 
      - paměť '\(RE\)' '\1'
 
      - kvantifikace '\{min,max\}' ... předchozí RE musí být min-krát až max-krát
          
- '*' ... '\{0,\}
 
	      - '+' ... '\{1,\}
 
	      - '?' ... '\{0,1\}
 
	  
       
      - třídy znaků [[:alpha:]] [[:digit:]] [[:alnum:]] [[:lower:]] ]]:upper:]] [[:space:]]
 
      - rozšíření RE - např. operátor '|'egrep '(Jan|Petr)'