Problémy s češtinou České znaky se standardně nepovažují za alfanumerické znaky (\w) Vadí to při třídění vyhodnocování regulárních výrazů Je třeba použít.

Slides:



Advertisements
Podobné prezentace
Pro začátek něco lehčího
Advertisements

Vstup a výstup Ing. Lumír Návrat  katedra informatiky, A-1018 
ŘÍDÍCÍ STRUKTURY - PODMÍNKY
Programování v C jazyku - SEMINÁŘ
Vstup a výstup doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007 
Seznamy Seznam = očíslovaná posloupnost skalárů Zápis seznamu do kulatých závorek: ("máslo")# jednočlenný seznam (1,2,3)# seznam se 3 členy ("jedna",2,3,"osm",100,$pozdrav)
Programovací jazyk Perl
Pascal - příklady.
Vytváření, použití dávkových souborů
VISUAL BASIC Práce se soubory.
Algoritmy I. Cvičení č. 10.
Programování v Pascalu Přednáška 9 RNDr. Hana Havelková.
Příkazový řádek Windows
Cvičení 2 Proměnné(jednoduché a složené) a konstanty První program Zápis výrazů.
UŽITEČNÉ PROGRAMY – MŮJ PRVNÍ SKRIPT Spustíme více prográmků najednou. SPŠ Teplice - 3.V.
Algoritmy I Cvičení č. 3.
Radek Špinka Přepínače MSSQL výběr.
( vstupy a výstupy v Matlabu na konzolu [ do Command Windows]
Vzdělávací materiál / DUMVY_32_INOVACE_02B10 Příkazový řádek: úvod AutorIng. Petr Haman Období vytvořeníListopad 2012 Ročník / věková kategorie3. ročník.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
17.Tabulkový procesor (filtrování a řazení dat, formuláře, podmínky a podmíněné formátování, export a import dat) Barbora Skoumalová 4.A.
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro práci se soubory 13 Verze
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B8 Autor Ing. Jiří Kalousek Období vytvoření listopad.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Práce se soubory Soubory se používají pro ukládání dat pro pozdější použití. Dalším a lepším způsobem jak ukládat data je použití databáze. Soubory se.
Jiří Znoj - zno Tvorba konkordace Algoritmy II 3. projekt, 5. zadání Jiří Znoj - zno
Cvičení.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Příklady v jazyku C – část 4
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
UNIX — doplňky Informatika pro ekonomy II přednáška 9.
PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Milan Kryl(c) 2004 MFF UK Databáze Caché NLS national language settings.
Gymnázium prof. Jana Patočky Jindřišská Praha 1 „Praha & EU: Investujeme do vaší.
UNIX Shell skripty Roman Danel VŠB TU Ostrava, Hornicko – geologická fakulta.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
ALGO – Algoritmizace 4. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
1 Počítače a programování 1 13.přednáška. 2 Obsah přednášky Vstupy a výstupy – 1.část.
Databáze velké množství dat pevně dané struktury
Příklady v jazyku C – část 1. Výstupy pomocí printf. printf(" Tisk textu \n v apostrofech \n ") ; p=10; printf("%d\n", p) ; /* tisk konstanty */ printf("Tisk.
Excel export a import dat. Import ze souboru.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
ZÁKLADNÍ POJMY. ZDROJOVÝ TEXT PROGRAMU Tvoří: klíčová slova komentáře identifikátory.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma.
Kódování znaků vnitřní reprezentace znaků v paměti počítače pomocí čísel zobrazení mezi písmeny (pro lidi) a čísly (pro počítače) Zpočátku jen pro angličtinu,
Hranice slov a vět (němčina) Ondřej Dušek. Základní schéma token.pl  dělení slov (s ohledem na data, URL, maily, A$,...)‏ sentrain.pl  hledání zkratek.
Podprogramy (subroutines) Pojmenované kousky programu, které –tvoří logicky ucelené části –se v programu opakují Jsou zapsány na jednom místě a v případě.
Ovladače souboru a funkce glob Přiřazení ovladače souboru – Nelze VSTUP = INPUT – Ale *VSTUP = *INPUT Vše, co se jmenuje INPUT bude přejmenováno na VSTUP.
filtrování a řazení dat, podmíněné formátování,
Sed O co jde Regulární výrazy Příkazy Adresování Příklady Michal Trs,
Statistika v SAS (SAS STUDIO)
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Jazyk C++ Přednáška č.2 Proudy, manipulátory Práce se soubory
Algoritmizace a programování Algoritmy 4 – Vývojové diagramy (cykly)
Algoritmizace a programování Soubory. Oč jde? Vytvoření externího souboru Vytvoření externího souboru Tento soubor může být: Tento soubor může být: Textový.
Batové dávky Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Vojtěch Mrózek. Dostupné z Metodického portálu ISSN: ,
Import dat Access (16). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Moduly.
Programovací jazyk C# 4. část - cykly.
Úvod do Pythonu – IO operace se soubory.
Linux - skripty Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Algoritmizace a programování
Vytváření dokumentace algoritmů
Databázové systémy a SQL
Command line nástroje Jednoúčelové, ale mocné nástroje pro transformace textu Jak získat: Linux (a Mac) – součást operačního systému Windows – musí se.
Transkript prezentace:

Problémy s češtinou České znaky se standardně nepovažují za alfanumerické znaky (\w) Vadí to při třídění vyhodnocování regulárních výrazů Je třeba použít use locale; nebo z příkazového řádku - přepínač Mlocale perl -Mlocale .... Je ale třeba mít locale správně nastavené v shellu.

Odbočka - Locale(s) je soubor jazykových, národních a kulturních pravidel, jako jsou znaková sada, formáty data, času a měny, pravidla pro abecední třídění, a také jazyk zpráv a uživatelského prostředí vůbec. Locale je třeba napřed nastavit v shellu. Důležité proměnné prostředí pro správné zobrazení češtiny: LC_ALL – nastaví všechno najednou LC_kategorie – nastaví konkrétní kategorii LANG – použije se, není-li nastavena kategorie

LC_kategorie LC_kategorie nastavují jednotlivé kategorie. Standardní jsou tyto: LC_COLLATE (pravidla třídění), LC_CTYPE (vlastnosti znaků, malá a velká písmena), LC_MONETARY (formát měny), LC_NUMERIC (formát čísel), LC_TIME (formát data a času), LC_MESSAGES (jazyk zpráv a uživatelského rozhraní).

Nastavení proměnné prostředí v shellu bash: export VARIABLENAME="value" csh/tcsh: setenv VARIABLENAME "value" Zobrazení hodnoty proměnné: echo $VARIABLENAME echo $SHELL echo $LC_ALL

Nastavení locales Obecný formát hodnot: Pro češtinu: Nebo alias: bash: jazyk[_teritorium[.znaková_sada]][@modifikátor] Pro češtinu: Nebo alias: cs_CZ.ISO-8859-2 cs_CZ.UTF-8 czech bash: export LC_ALL="cs_CZ.ISO-8859-2" csh/tcsh: setenv LC_ALL "cs_CZ.ISO-8859-2"

Otevírání souborů 2 způsoby pro čtení (vstupní soubor) open(VSTUP,"ptaci.txt"); Lze otevřít více souborů pro čtení. pro výpis (výstupní soubor) open(OUT,">/export/home/hlava/prijmeni.out"); open(OUT,">>/export/home/hlava/prijmeni.out"); Lze otevřít více souborů pro výpis.

Unicode Třeba explicitně uvést, že pracujeme v kódování UTF-8: use encoding "utf-8"; Otevírání textových souborů v kódování UTF-8: open(VSTUP, "<:utf8" , "ptaci.txt"); open(OUT, ">:utf8", "prijmeni.out"); open(OUT, ">>:utf8", "prijmeni.out");

Ovladač souboru (filehandle) Standardní – vždy k dispozici STDIN STDOUT STDERR – výpis chyb Ostatní je třeba explicitně otevřít pomocí funkce open([ovladač souboru],[mode],[jméno souboru]); Ovladač souboru se tradičně píše velkými písmeny Zavírání souboru: close([ovladač souboru]);

Testování souborů Otevření souboru může být problematické => testy -r soubor lze číst -w do souboru lze zapisovat -x soubor je spustitelný -e soubor existuje -f jde o soubor -d jde o adresář -z soubor má nulovou délku -s soubor má nenulovou délku if(! (–e "soubor")) { open(S,">soubor") } if(-s "vstup" and -r "vstup") open(V,"vstup")

Příkaz die Perlovský idiom: open(SOUBOR,"s.txt") or die "Soubor s.txt nejde otevřít."; die ukončí program a vypíše hlášku na STDERR. Co to znamená? Umíte to zapsat jinak? Speciální proměnná $! pro výpis chybových hlášek: open(SOUBOR,"s.txt") or die "Problém: $!\n"; Když se neotevře soubor, vypíše se např. Problém: Permission denied.

Čtení ze souboru Příklad open(VSTUP,"ptaci.txt"); $prom = <VSTUP>; # do $prom se uloží 1. řádek ze souboru "ptaci.txt" my $cislo_radku = 1; while(<VSTUP>) # totéž jako while($_ = <VSTUP>) { print $cislo_radku++, " ", $_; } close VSTUP;

Zápis do souboru Tady není čárka !!! Do příkazu print napíšeme ovladač souboru, do kterého se má zapisovat print VYSTUP "toto se zapíše do výstupního souboru.\n"; Nezapíše-li se ovladač, zapisuje se do STDOUT print "toto se zapíše na standarní výstup.\n"; totéž jinak (většinou): print STDOUT "toto se zapíše na standarní výstup.\n"; Tady není čárka !!!

Zápis do více souborů (ne najednou) Lze otevřít více souborů a zapisovat pokaždé do jiného např. ladicí tisky na STDOUT nebo do zvláštního jiného souboru (např. LOG), ostatní výstupy do výstupního souboru open(LOG,">log.txt"); open(VYSTUP,">ven.txt"); print LOG "toto se zapíše do souboru log.txt.\n"; print VYSTUP "toto se zapíše do souboru ven.txt.\n"; Ale máme i příkaz select: select LOG; print "toto se zapíše do souboru log.txt, ne na STDOUT!\n";

Parametry souboru Pole @ARGV Při spouštění programu se parametry píšou za jméno souboru Příklad: přepis souboru s očíslovanými řádky program, který přečte všechny zadané soubory a vypíše je tak, že každý řádek předchází jeho pořadí nevíme předem, kolik bude souborů Spuštění programu: ./pocitej.perl soubor_1 soubor_2 ... soubor_n parametry jsou odděleny mezerami

Příklad s polem @ARGV foreach $s (@ARGV) { my $cislo_radku = 1; open(VSTUP, $s) or die "Nelze otevřít soubor $s\n"; open(VYSTUP, ">${s}.out") or die "Nelze otevřít ...."; print "---- $s ----\n"; while($prom = <VSTUP>) print VYSTUP $cislo_radku++, " ", $prom; }

Použití @ARGV Jméno souboru, který se má zpracovat (vstupní soubor) může jich být víc Jméno souboru, který má být výsledkem (výstupní soubor) i těch může být víc Číselné parametry – př.: sečíst čísla od N do M Příklad : jednoduchá kalkulačka

Perl z příkazového řádku Krátké prográmky na jedno použití není třeba uchovávat, lze je spustit přímo z příkazové řádky perl volba Volby -e "příkaz(y)" provede se příkaz -n příkaz se obalí cyklem while -p jako -n, navíc se řádky vytisknou na STDOUT -v vypíše verzi Perlu perl -pe "s/\r//" W_soubor.txt > U_soubor.txt perl –ne "print if/aby/"