Úvod do UNIXu (4 th round) David Hoksza (většina sekce o vi a obrázek na slidu 7 převzat od Libora Forsta –

Slides:



Advertisements
Podobné prezentace
Olomouc, únor 2012.
Advertisements

Pro začátek něco lehčího
ŘÍDÍCÍ STRUKTURY - PODMÍNKY
Operační systém UNIX Soubory a adresářová struktura Roman Danel
Programování funkcí v Excelu
HyperText Markup Language
Opakování Co je výsledkem následujícího prográmku? my $a="kol"; my $b="o"; $a.= $b; $b.= $a; print "a = $a, b = $b\n"; Vkládání speciálních znaků? Uvozovací.
Vytváření, použití dávkových souborů
VISUAL BASIC Práce se soubory.
Co jsou to regulární výrazy?
Klávesnice pc Mgr. Jan Fojtík Hardware F_21.
Výpočetní technika Akademický rok 2008/2009 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Příkazový řádek Windows
Vzdělávací materiál / DUMVY_32_INOVACE_02B14 Příkazový řádek: obsah souborů PŘÍKLADY AutorIng. Petr Haman Období vytvořeníLeden 2013 Ročník / věková kategorie3.
Maturitní otázka č. 12 Kristýna Kaňovská 4. A.
Informační a komunikační technologie 5. ročník
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.
MATLAB LEKCE 1.
Klávesnice a myš Bohumil Bareš.
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Shell Team Jan Kupka Petr Kykal Tomáš Paríšek si Vám dovoluje představit
Datové typy a práce s nimi
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.
Úkol Vytvořit soubor – touch file Zpřístupnit ho ostatním studentům, ale ne mě (uživatel tupost) – lze to? Na čem to závisí? – závisí to na tom, zda jsou.
Jiří Znoj - zno Tvorba konkordace Algoritmy II 3. projekt, 5. zadání Jiří Znoj - zno
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,
Název projektuInovace ŠVP na OA a JŠ Třebíč Číslo projektuCZ.1.07/1.5.00/ Číslo a název šablony klíčové aktivityIII/2 Inovace a zkvalitnění výuky.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Cvičení č. 8 Pokročilé regulární výrazy - na co je třeba dát pozor David Chudán Upravil D. Pejčoch.
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.
Hledání - editace Přepnu se do báze, ve které budu hledat (zatím pouze báze autorit a záznamů) Každý zpracovatel může editovat pouze záznamy svého ústavu.
Autor:Ing. Pavel Brož Předmět/vzdělávací oblast:Informační a komunikační technologie Tematická oblast:Práce se standardním aplikačním programovým vybavením.
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.
UNIX Shell skripty Roman Danel VŠB TU Ostrava, Hornicko – geologická fakulta.
Základy syntaxe jazyka PHP PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. Typický PHP skript obsahuje: Typický PHP skript.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
Rozpoznávání v řetězcích
MS Excel 2 Martin Kotlík Brno, 20. ledna 2015 Obsah předchozího semináře 1 1.Popis programu Excel 2.Základní dovednosti 3.Typy vkládaných dat 4.Formát.
Spojování řetězců Spojování řetězců Pro spojování řetězců se používá operátor Pro spojování řetězců se používá operátor. (tečka). V jiných jazycích se.
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.
Úvod do UNIXu (4 th round) David Hoksza (většina sekce o vi a obrázek na slidu 7 převzat od Libora Forsta –
Operační systém GNU Linux Příkazy pro správu procesů.
Anopress: nová grafika, nové možnosti Mgr. Daniela Uhrová září 2010.
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é.
Úvod do UNIXu (6th round)
Úvod do UNIXu (6 th round) David Hoksza
Operační systém UNIX Příkazové prostředí UNIXu: příkaz [argumenty] [jméno] Ve jménech příkazů a parametrech se rozlišují malá a velká písmena.
Úvod do UNIXu (6 th round) David Hoksza
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2015.
Sed O co jde Regulární výrazy Příkazy Adresování Příklady Michal Trs,
 produkt od firmy Microsoft  je součástí kancelářského balíku Microsoft Office.  slouží k psaní textových dokumentů  funkce: -pořízení textu -pokročilá.
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Operační systém GNU Linux
Výpočetní technika a algoritmizace I Základní příkazy příkazového řádku v systému Windows a unixových systémech.
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: ,
Prezentace Powerpoint 1 Prezentace vznikla v rámci projektu Škola 21. století, reg. číslo: CZ.1.07/1.3.06/ , který realizuje ZŠ a MŠ Lomnice nad.
Tento projekt je financován z Operačního programu Vzdělávání pro konkurenceschopnost prostřednictvím Evropského sociálního fondu a státního rozpočtu ČR.
Zdroj napájení a klávesnice
Úvod do Pythonu – IO operace se soubory.
Výukový materiál zpracován v rámci projektu
Vypracoval-Matěj Šmíd
KLÁVESNICE A MYŠ NA PC VY_32_INOVACE_06
VY_32_INOVACE_03_Klávesnice
Databázové systémy a SQL
Klávesnice Denisa Procházková 1.A.
Databázové systémy a SQL
Vyhledávání ve WWW Vyhledávání informací v prostředí WWW lze provádět např. pomocí služeb: Altavista - Google -
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:

Úvod do UNIXu (4 th round) David Hoksza (většina sekce o vi a obrázek na slidu 7 převzat od Libora Forsta –

standardní vstup/výstup standardní IO jsou reprezentovány standardními deskriptory souborů (file descriptor), s kterými by měly programy operovat /dev/tty*, /dev/console, /dev/pts/* stdin - 0 (klávesnice), stdout - 1 (obrazovka), stderr -2 (obrazovka) lze přesměrovat  odfiltrování chybových hlášek  ukládání dlouhého výstupu do souboru  potlačení libovolného výstupu  předpřipravení vstupu do souboru

přesměrování >  přesměruje standardní výstup  ls –l > dir_ouput.txt  echo “abcd” > /dev/pts/1  echo “abcd” > /dev/null >>  při existenci souboru bude proveden append <  přesměruje standardní vstup  wc –l < /etc/passwd program output lze definovat odkuď kam přesměrovávat  make > build_msg 2> error_msg  make > build_msg 2>&1

roury vstupy a výstupy programů lze řetězit za pomoci roury (pipe) program1 | program 2 | program 3 |… cat etc/passwd | tail - 10 | tr ‘[:lower:]’ ‘[:upper:]’ | cut –d: -f1

Úkol 1. Jaký je rozdíl mezi cat file >log 2>&1 cat file 2>&1 >log 2. Vypište do souboru všechny uživatele systému setříděné podle abecedy odzadu a k nim jejich skupiny oddělené od sebe tabulátorem (asi budete potřebovat alespoň jeden mezisoubor) 3. Setřiďte na obrazovku soubory v /etc (ne v podadresářích) od souboru s největším počtem řádku k souboru s nejmenším počtem řádků a na výstup vydejte dvojici s informací o jméně a počtu řádek 4. Viz. předchozí, ale vypište pouze jména souborů 5. Viz. předchozí, ale vypište pouze první třiVypište všechny uživatele systému velkými písmeny do souboru a obsahuje-li název písmena, tak je nahraďte za tečky a vypisujte pouze neduplicitní řádky 6. Najděte způsob pro vyprázdnění souboru s tím, že soubor musí zůstat zachována (použijte /dev/null)

Editor vi Visual editor vi [options] [filename] -R  read-only (přepisuje pouze je-li “přinucen”) +[N]  kurzor bude umístěn na N.tý řádek (poslední – není-li N zadáno) +/pattern  kurzor bude umístěn na první výskyt vzoru

Editor vi – schéma práce příkazový režim příkazový režim vstupu režim vstupu režim příkazů ex režim příkazů ex ( : ) q, ( : ) x ZZ i, a, I, A, o, O, s, S, c x, C, R, ( ^C ), :

Editor vi - pohyb šipky, pgDown, pgUP  nemusí fungovat na všech systémech a vzdálených konzolích!!! [N]k,[N]j  posun o N řádek nahoru/dolu [N]l, [N]h  posun o N znaků dopředu/dozadu [N]G  posun na N-tou (poslední) řádku [N]H  posun na N-tou (první) řádku na obrazovce [N]L  posun na N-tou (poslední) řádku na obrazovce od konce mZ  označení pozice znakem Z ´Z, `Z  skok na místo/začátek řádku pozice Z ´´, ``,  skok na místo/začátek řádku poslední pozice

Editor vi – přechod do vstupu i, a, I, A  zahájení editace před/za kurzor/řádku (insert, append) R  zahájení editace v replace módu o, O  zahájení editace po vložení řádky před/za aktuální řádku cc, C  zahájení editace po smazání řádky/do konce řádku s, S  zahájení editace po smazání znaku/řádku

Editor vi – mazání a práce s buffery x, X  smazání textu pod/před kurzorem dd, D  smazání řádky/do konce řádky smazaný text se ukládá do očíslovaných bufferů [N]pP  vložení N (jednoho) opakování bufferu před/za kurozor “np, “nP  vložení n-tého posledního bufferu [“Z]ym  vložení textu od kurzoru do místa daného příkazem pro pohyb h do bufferu (pojmenovaného Z) [“Z]yy  vložení řádky do bufferu (pojmenovaného Z) “Zp, “ZP  vložení bufferu pojmenovaného Z

Editor vi – další příkazy.  opakování posledního příkazu u  zruší poslední příkazy J  spojení řádek ~  zamění velké malé písmeno pod kurzorem rZ  změní znak pod kurzorem za Z z, z-  posunutí aktuální řádky nahoru/dolu Ctrl+g  info o poloze a stavu editovaného souboru %  skok na odpovídající závorku

Editor vi – hledání a nahrazení /pattern  nalezení vzoru – reguárního výrazu (pohyb pomocí n) /s/a/b/  nahradit výskyt a za b /s/a/b/g  nahradit každý (g = global) výskyt a za b /s/a/b/g  nahradit každý (g = global) výskyt a za b a každý potvrdit (c = confirmation)

Editor vi - ukončení :q[!]  ukončení bez uložení  byli-li provedeny změny, pak ! vynutí ukončení bez otázek :x[!] [file_name]  ukončení s uložením  byli-li provedeny změny při read-only, pak ! vynutí ukončení :w[!] [file_name]  uložení  byli-li provedeny změny při read-only, pak ! vynutí uložení

grep, egrep Vyhledání regulárního výrazu v řádcích e(xtended)grep umožňuje použití rozšířených regulárních výrazů [e]grep [options] file1 [file2, …]  -E egrep  -e pattern pattern je hledaný regulární výraz  -n před každou řádku její pořadové číslo  -r adresáře rekurzivně  -w shoda musí být celé slovo  -v invert – vyhledá řádky neobsahující slovo vyhovující podmínce  -x vyhledá řádky které přesně (jako celek) vyhovují podmínce

Regulární výrazy vyhledávání výrazů odpovídajících vzoru lehká podobnost s * a ? z DOSu vyhledávání s použitím metaznaků, kvantifikátorů, hranic, množin znaků, …

RV – jednoduché vyhledávání z  vyhledání výskytů znaku z abcd  vyhledání výskytů zřetězení znaků a, b, c, d.  zástupný znak za libovolný znak [z 1 z 2 z 3 z 3 ]  vyhovuje výskyt libovolného znaku z uvedené množiny [^z 1 z 2 z 3 z 3 ]  vyhovuje výskyt libovolného znaku různého od znaků z uvedené množiny [a-zA-Z]  vyhovuje libovolnému znaku z rozsahu a-z nebo A-Z \z  deaktivuje speciální význam znaku z (například tečky) |  operátor nebo  pattern 1 (pattern 2 |pattern 3 ) pattern 4 () jsou operátorem “přednosti” [][]

RV - skupiny znaků \d  číslice 0-9 \D  jakýkoliv znak kromě číslic 0-9 \w  znaky „slova” (ekvivalentní zápisu [a-zA-Z0-9]) \W  jakýkoliv znak kromě znaků „slova” (ekvivalentní zápisu [^a-zA-Z0-9]) \s  „bílé” znaky (mezera, tabulátor, znaky pro zalomení řádků) \S  jakýkoliv znak kromě „bílých” znaků [:alnum:]  alfanumerický znak (použití grep “\”[[:alnum:]]\”” file) [:space:]  mezera [:digit:]  číslice

RV - kvantifikátory *  minimálně 0krát (maximálně neomezeno) [\]?  minimálně 0krát, maximálně 1krát [\]+  minimálně 1krát (maximálně neomezeno) [\]{n [\]}  právě nkrát [\]{m,n [\]}  minimálně mkrát, maximálně nkrát [\]{m, [\]}  minimálně mkrát (maximálně neomezeno) kvantifikátory jsou hladové (zachytí maximální možnou odpovídající sekvenci) někdy lze nastavit líné vyhodnocování použitím otazníku za opakováním  x.+?x jistější  x[^x]+x

Příklady (jednoduché) cat|dog|mouse|fish colou?r  colour, color Set(Value)?  Set, SetValue ca*t  ct, cat, caat, caaat, ca…….at a\.*z  az, a.z, a..z, a….z, a. …..z a\+\+z  a++z ab{3,5}c  abbbc, abbbbc, abbbbbc.{3,5}pentane  cyclopentane, isopentane, neopentane \s[cmt]an\s  can, man, tan a[1-4-]z  a1z, a2z, a3z, a4z, a-z

RV – výrazy a jejich opakování [\](pattern[\])  uložení patternu do bufferu \N  použití N-tého bufferu  (abcd)x(ab)\1y\2  ([0-9]{2,4})\.([0-9]{5})xxx\1\*\2

RV - hranice ^  začátek řádku $  konec řádku \b  začátek nebo konec slova \<  začátek slova \>  konec slova

Příklady Nalezení ových adres na řádce  Nalezení dosovských cest k programům  [A-Z]:(\\[A-Z0-9_]+)+ Nalezení reálných čísel  (\+|-)?[1-9][0-9]*(\.[0-9]*)? Nalezení HTML tagů  ]*>.*?

Úkol 1. vytvořte textový soubor kde v obsahu bude mimo jiné “x+y=(23*5)” a vytvořte regulární výraz, který najde právě tento výraz 2. Co je nalezeno výrazem [[]] ? 3. Vyhledejte všechny čísla v textu 4. Vyhledejte v textu všechna rodná čísla. 5. Vyhledejte v textu všechny výskyty IP adres. 6. Vylepšete příklad s vyhledáním ových adres, aby rozpoznával v části formát xxx.yyyy (yyyy jsou 2-4 znaky)

sed (1) stream editor čte vstupní proud (defaultně po řádcích) a transformuje ho pomocí regulárních výrazů na výstupní sed format_str file1 [file2 …] sed –r  rozšířené regulární výrazy

sed (2) sed ‘s/pat1/pat2/’ file  nahradí první výskyt na řádce pat1 za pat2  sed ‘s/[0-9][0-9]*/_/’ file  sed "s/function\s* \b\([a-z]*\)\b/#function \1\nfunction \1/g" *.c sed ‘s/pat1/pat2/g’ file  dtto golbálně (na všechny výskyty)  sed 's/\([a-z]*\)\1/\1/g' sed -n ‘s/pat1/pat2/p’ file  -n … na výstup nejdou žádné nové řádky  vypisuje pouze řádky obsahující pat1 (zasubstitovanou pat2) sed ‘s/pat1/pat2/w wfile’ file  dtto do souboru wfile akce lze kombinovat  sed –n ‘s/pat1/pat2/gw wfile’ file

sed (3) složení příkazů  sed -e 's/a/A/' -e 's/b/B/' file smazání řádky s výrazem  sed ‘/pat/ d’ file  obecně lze sed ‘/pat/ action’ file přidání řádky před/za/místo řádky s výrazem  sed ‘/pat/ i new line text’ file  sed ‘/pat/ a new line text’ file  sed ‘/pat/ c new line text’ file

sed (4) – omezení řádků omezení na 1 řádku  sed “14 s/pat1/pat2/” file omezení na množinu řádku  sed “4,100 s/pat1/pat2/g” file omezení řádek výrazy  sed “/start/,/stop/ s/pat1/pat2/” file  sed “/start/,/stop/ d” file transforamce  sed '/\d\d*/ y/abc/ABC' file

Úkol 1. Nahraďte všechny výskyty slova black za white 2. Smažte první 2 řádky souboru 3. Smažte jednořádkové C komentáře (začínají // a pokračují do konce řádku) 4. Viz. předchozí, ale pokud komentář začína na začátku řádky, tak také smazat danou řádku (tj. po minulém příkladě můžou zbýt prázdné řádky a tyto odstranit) 5. Vypište do souboru sudy řádky souboru začínající na sudé číslo