Regulární výrazy a grep

Podobné dokumenty
Přednáška 4. Regulární výrazy. Filtry grep, sed a awk. Úvod do Operačních Systémů Přednáška 4

Regulární výrazy. Filtry grep, sed a awk.

A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk

grep a regulární výrazy

Nastroje na zpracovani textu:

Program grep. predn_05.doc

more Program se zastaví vždy po vypsání jedné stránky textu. Ukončení Ctrl+C less Umožňuje pohybovat se v souboru dopředu i dozadu.

Úvod do Operačních Systémů

Úloha 3 editor a skripty. připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese

Úvod do Operačních Systémů

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

LINUX přesměrování a roury

PROGRAMOVÁNÍ V SHELLU

Úvod do Operačních Systémů

BASH. Kouzla s příkazovou řádkou. Petr Koloros

Unix je víceuživatelský a víceúlohový OS

Úvod, jednoduché příkazy

Úvod do UNIXu. Libor Forst

C2110 Operační systém UNIX a základy programování

Cvičení 3. Plán. Procesy. procesy, jobs Find Wildcards Příklad uživatelé. ZOS 2005, L. Pešička. eryx4> ps x

Semestrální úloha 1 z předmětu Programovací jazyk C. Textový merge. Student:

Systém souborů (File System)

Úvod do Operačních Systémů

Domácí příprava k předmětu YD38UOS Úloha 10 práce s lokálními soubory pokračování

Programování. Bc. Veronika Tomsová

Příkaz find, práce s procesy a úlohami, plánování úloh

Úvod do Operačních Systémů

Rozšíření ksh vůči sh při práci s proměnnými

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Seznámení se shellem, textové editory numerické výpočty

Sekvenční a podmíněné provádění

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

Základní příkazy UNIXu (Linuxu)

Přednáška 5. Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení. Úvod do Operačních Systémů Přednáška 5

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Úvod do Operačních Systémů

PRACUJEME S SHELLEM Ať žije BASH.

Střední odborná škola a Střední odborné učiliště, Hořovice

Operační systéme II cvičení

ZOS CV1 Základy operačních systémů

Standardní vstupy a výstupy procesu filtry

Úvod do UNIXu. Jirka Boháč Gymnázium Jaroslava Seiferta 2003/2004

C2110 Operační systém UNIX a základy programování

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Tahák na UOS 2008/2009

Cvičení předmětu BI PUN (Pokročilé Unixové Nástroje)

Základní příkazy pro práci se soubory

Přednáška 1. Úvod. Historie OS Unix. Architektura OS Unix. Interpret příkazů SHELL. Zpracování příkazové řádky. Speciální znaky. Zkratky příkazů.

Úvod. unx-predn_01-uvod.odt :13:43 1

LinuxDays 2017 Ondřej Guth GNU grep LD 17 1 / 14

FILTRY V GNU/LINUXU ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

Regulární výrazy. jemný úvod. Miloslav Brada


ÚVOD DO UNIXU. Metodický list č. 1

Úvod do Operačních Systémů

Administrace OS Unix. Úvodní informace Principy administrace Uživatelé

Přednáška 1. Úvod. Historie OS Unix. Architektura OS Unix. Interpret příkazů. SHELL. Zpracování příkazové řádky. Speciální znaky. Zkratky příkazů.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Základy operačního systému LINUX část III

LINUX ADRESÁŘOVÁ STRUKTURA. Co to, hrome, je? V této lekci se budeme brouzdat adresáři. SPŠ Teplice - 3.V

Administrace Unixu a sítí

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Příkaz finger. # finger sam Login: sam Name: Sam Greenfield Directory: /home/sam Shell: /bin/tcsh Last login Sun Dec 25 14:47 (EST) on tty2 No Plan.

PŘÍKAZY PRÁCE SE SOUBORY

Operační systém UNIX

1.0 OS Unix Historie. Architektura. Zpracování příkazové řádky.

32-bitová čísla Autonomních Systémů v protokolu BGP

Základní příkazy OS UNIX

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Skripty - úvod. Linux - skripty 2

Téma 2: Práce s commands. Téma 2: Práce s Commands

Úvod do Operačních Systémů

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian


PSK3-9. Základy skriptování. Hlavička

Lekce 21 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Regulární výrazy. Honza Vrbata

Příkazová řádka. predn_02.odt :55:55 1

Proměnné a parametry. predn_08.odt :00:38 1

Speciální soubory. Editace příkazové řádky. $ fg mp3blaster $./skript.sh. [2]+ Stopped./skript.sh $ bg [2]+./skript.sh & $ fg 2./skript.

32-bitová čísla Autonomních Systémů v protokolu BGP

Konečný automat. Jan Kybic.

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

Paralelní výpočty na clusteru KMD

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Střední odborná škola a Střední odborné učiliště, Hořovice

Identita uživatelů, přístupová práva. Linux

Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou

Operační systémy. Cvičení 1: Seznámení s prostředím

PSK3-3. Základní příkazy. Zápis cesty

Tahák na UOS 2008/2009 Přehled (zkrácená verze)

VISUAL BASIC. Práce se soubory


ČVUT FIT: BI-SKJ: Perl

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

Informatika / o souborech

Konstruktory překladačů

C2110 Operační systém UNIX a základy programování

Transkript:

A7B38UOS Úvod do operačních systémů 5. Cvičení Regulární výrazy a grep

Grep grep [přepínače] vzor [soubory] Implicitně vypíše na standardní výstup řádky, které vyhoví zadanému vzoru. -i nerozlišuje malá a velká písmena -v vypíše na standardní výstup řádky, které neobsahují zadaný vzor -c vypíše pouze počet odpovídajících řádek -l vypíše pouze jména souborů, které odpovídající řádky obsahují -n vypíše odpovídající řádky a jejich pořadové číslo v souboru Vzor může být definován základním regulárním výrazem grep je zkratka pro skupinu příkazů editoru ex (globally search for regular expression and print result). A7B38UOS Úvod do operačních systémů - cvičení 5 2

Grep jednoduché příklady grep 'The' /etc/ssh/ssh_config grep 'the' /etc/ssh/ssh_config grep -i 'The' /etc/ssh/ssh_config grep -ci 'the' /etc/ssh/ssh_config grep -ni 'the' /etc/ssh/ssh_config grep -l 'kill' /etc/init.d/* grep root /etc/group grep -v root /etc/group A7B38UOS Úvod do operačních systémů - cvičení 5 3

Regulární výrazy I Symbol Význam. právě jeden jakýkoliv znak znak* žádný nebo libovolných počet výskytů předchozího znaku [ ] jeden znak z množiny/intervalu (např. [a,d,f], [a-h]) [^ ] jeden libovolný znak mimo znaků z množiny/intervalu ^ začátek řádky $ konec řádky \< začátek slova \> konec slova \znak ruší speciální význam následujícího znaku Nezapomeňte ochránit speciální znaky před zpracováním shellem! => apostrof nebo uvozovky A7B38UOS Úvod do operačních systémů - cvičení 5 4

Regulární výrazy I ls -l grep -c '^l' ypcat passwd grep '/bin/bash$' grep 'the' /etc/ssh/ssh_config grep '\<the\>' /etc/ssh/ssh_config grep 'bag' /usr/share/dict/words grep '^bag' /usr/share/dict/words grep 'bag$' /usr/share/dict/words grep '^bag$' /usr/share/dict/words A7B38UOS Úvod do operačních systémů - cvičení 5 5

grep '^b[aeiou]g' /usr/share/dict/words grep '^b[^aeiou]g' /usr/share/dict/words grep '^b.g$' /usr/share/dict/words Regulární výrazy I grep '^woo*' /usr/share/dict/words grep '^wood' /usr/share/dict/words grep '^wood.*d' /usr/share/dict/words grep '^wood.*d$' /usr/share/dict/words A7B38UOS Úvod do operačních systémů - cvičení 5 6

Regulární výrazy I Výpis řádků obsahujících RE ls /home/* 2>/dev/null grep novak Výpis řádků neobsahujících RE echo $PATH tr '[:]' '[\n]' grep -v bin Výpis řádků obsahujících RE bez ohledu na velikost písmen man ls grep -i command Výpis pouze názvů souborů obsahujících RE grep -l start /etc/* 2>/dev/null Výpis počtu řádků obsahujících RE grep -c example /usr/man/man1/grep.1 A7B38UOS Úvod do operačních systémů - cvičení 5 7

Regulární výrazy I Výpis řádků obsahujících stejný znak na začátku i konci řádku grep '^\(.\).*\1$' words Výpis pětiznakových palindromů grep '^\(.\)\(.\).\2\1$' words Výpis řádků obsahujících 2 stejná slova man head grep -i '\(\<[a-z][a-z]*\>\).*\<\1\>' A7B38UOS Úvod do operačních systémů - cvičení 5 8

Regulární výrazy II počítáme výskyty Symbol znak\{m\} znak\{m,\} znak\{m,n\} Význam právě m výskytů předchozího znaku nejméně m výskytů předchozího znaku m až n výskytů předchozího znaku A7B38UOS Úvod do operačních systémů - cvičení 5 9

Regulární výrazy II počítáme výskyty grep '^[A-Z]' /usr/share/dict/words grep '^[A-Z][A-Z]' /usr/share/dict/words grep '^[A-Z]\{2\}' /usr/share/dict/words grep '^[A-Z]\{2,3\}' /usr/share/dict/words A7B38UOS Úvod do operačních systémů - cvičení 5 10

Regulární výrazy II počítáme výskyty cd /usr/share/dict grep o words grep oo words grep oo$ words grep ^oo words grep o.o words grep 'o.*o' words grep '^o.*o$' words grep 'o*' words grep 'oo*' words grep '[^o]' words grep -v o words grep. words grep ^.$ words grep ^..$ words grep '^[a-z][a-z]$' words grep '^[^a-z].*[^a-z]' words grep '^[qxy]...$' words grep '^[qxy].\{3\}$' words grep '^[qxy].\{12,15\}$' words grep '^[qxy].\{13,\}$' words man grep grep '\<file\>' man grep grep '\<file' man grep grep 'file\>' A7B38UOS Úvod do operačních systémů - cvičení 5 11

Regulární výrazy III+ Egrep Implicitně vypíše na standardní výstup řádky, které obsahují zadaný vzor. Vzor může být definován rozšířeným regulárním výrazem. Nepodporuje znaky: \(, \), \n, \<, \>, \{, \} Navíc podporuje znaky: +,?,, (, ) Přepínače jsou podobné jak u příkazu grep. A7B38UOS Úvod do operačních systémů - cvičení 5 12

Regulární výrazy III+ Symbol znak+ znak? RE1 RE2 (RE) Význam jeden nebo libovolných počet výskytů předchozího znaku žádný nebo jeden výskyt předchozího znaku RE1 nebo RE2 označení reg. podvýrazu A7B38UOS Úvod do operačních systémů - cvičení 5 13

Regulární výrazy III+ Fgrep Implicitně vypíše na standardní výstup řádky, které obsahují zadaný vzor. Vzor může být definován pouze jako obyčejný řetězec. Příkaz je rychlejší než grep a egrep. Přepínače jsou podobné jak u příkazu grep. A7B38UOS Úvod do operačních systémů - cvičení 5 14

Regulární výrazy III+ Výpis dnů v týdnu ze souboru words M o n day T u e s day W e d n es day T h u r s day F r i day S a t u r day S u n day grep '[MTWFS][ouehra][neduit][snru]*day' words egrep '(Mon Tues Wednes Thurs Fri Satur Sun)day' words A7B38UOS Úvod do operačních systémů - cvičení 5 15

Regulární výrazy Nalezněte v souboru /home/predmety/uos/common/vzorky/messages, které MAC adresy získaly 4. 3. 2013 IP adresu 10.12.14.30. A7B38UOS Úvod do operačních systémů - cvičení 5 16

Regulární výrazy grep "Mar *4.*DHCPACK on 10.12.14.30" messages A7B38UOS Úvod do operačních systémů - cvičení 5 17

Regulární výrazy Nalezněte v souboru /home/predmety/uos/common/vzorky/access_log, kolikrát se v listopadu 2012 stáhla www stránka /vyuka/paradoxy. A7B38UOS Úvod do operačních systémů - cvičení 5 18

Regulární výrazy grep "/Nov/2012.*/vyuka/paradoxy " access_log wc -l A7B38UOS Úvod do operačních systémů - cvičení 5 19