Zpracování textu Jak změním text na nějaký jiný 1. Zjistěte si, co je to regulární výraz (regular expression): nejlépe v tištěné knize jako je UNIX - Linux manuálová nebo info stránka regexp man perlre - jak s regulárními výrazy zachází perl v editoru vim příkaz :help pattern http://www.spsselib.hiedu.cz/utf/~xveleta/perl/perl.htm Skolička č. 20 Stručný přehled regulárních výrazů tak, jak jim rozumí správce souborů salamander: http://vorvan.sh.cvut.cz/salamander/cesky/description.html Regulární výrazy do nějaké míry umí zpracovávat nejobvyklejší textové editory, jako je emacs, vim, joe; vše je popsáno v příslušných manuálových stránkách nebo v nápovědě přímo v editoru. Srozumitelný průvodce po regulárních výrazech: http://www.root.cz/clanek.phtml?id=339, 342, 348 http://www.kit.vslib.cz/~satrapa/docs/regvyr/ Visual regexp - hlavně pro debugování RE: http://laurent.riesterer.free.fr/regexp/ 2. Naučte se základní příkazy shellu (obvykle bash). Naučte se používat základní příkazy pro práci s textem, všechny z nich fungují i jako filtry: grep: hledá řádky obsahující nějaký vzorek (regulární výraz) cut: omezuje text na určité sloupce nebo pole sort: třídí řádky textu sed: příkaz pro dávkové změny textu (mazání, náhrada) head, tail: vypisuje začáteční/koncové řádky souboru tr: transformace a mazání jednotlivých znaků find: hledá v adresářovém stromu wc: počítá znaky, slova, řádky split: rozdělí soubor na menší části Jsou to standardní unixové příkazy, popsané v každé literatuře, mají manuálové stránky. Dají se použít se spoustou přepínačů, které mění jejich funkci Mohou se zapojovat do kolon prostřednictvím roury http://www.root.cz/clanek.phtml?id=372 http://www.root.cz/clanek.phtml?id=450 http://guides.oernii.sk/index.php?category=scripting Linux World Startovací skripty 3. Co je to koncept roury 4. Nejjednodušší je program sed - stream editor. Pro pohodlnější a komplexnější práci je vhodný některý z mocnějších nástrojů pro manipulaci s textem (awk, perl, python). awk: změna textu na základě analýzy vzorku ve strukturovaném textu man awk /usr/doc/gawk-3.0.3 nebo /usr/share/doc/gawk http://www.gnu.org/manual/gawk-3.0.3/gawk.html Viz též: - Úvod do skriptování: http://news.tucows.com/ext2/99/10/articles/ext210211999.shtml - FAQ Informační zdroje na dosah ruky -- > Bud pouzijete absolutni pozice (napr. v awk neco jako substr($0,3,10)) Jeste doplnim, ze v pripade poli s pevnou sirkou lze pouzit promennou FIELDWIDTHS, ktera specifikuje jejich sirku. Je to implementovano v gawk, klasicke awk a nawk to neumi. V dokumentaci je uzivatel postrasen, ze je to experimentalni vlastnost, nicmene pouzivam to bez problemu nekolik let. A. Malusek --