Linux Filtr grep. Opracował: Arkadiusz Curulak WSIiE TWP w Olsztynie



Podobne dokumenty
Zastosowanie filtrów w Linuksie

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)

SED - Stream EDitor. edytor strumieniowy. Bogumił Konopka W-11/I-21 Politechnika Wrocławska

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

OPCJE -A num, --after-context=num Wypisuje po pasujących liniach num linii następującego kontekstu.

Języki formalne i automaty Ćwiczenia 6

Elementy wyrażeń regularnych

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux

Przekierowanie wejścia wyjścia:

Wyrażenia regularne. Wojciech Tabiś Łukasz Jankowski

Znaki globalne w Linuxie

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

Funkcje standardowe. Filtrowanie

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

Laboratorium Strumienie w systemach UNIX 4.2 Filtry strumieniowe

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Umożliwia ona pokazanie ukrytych plików i katalogów, nazwa ich zaczyna się od kropki.

Wyrażenia regularne. Wyrażenia regularne 1/41

Instrukcja programu mam wersja 1.02.

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Skanowanie OCR w aplikacji Kancelaria Komornika. Instrukcja dla użytkownika

Wyrażenia regularne. Wyrażenia regularne: składnia

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Wyrażenia regularne. Regular expressions. aka. Regexp

Spra r wd w za z nie e popra r wn w ości c danych c w w form r u m larz r a z ch c :

Zakład Systemów Rozproszonych

Bibliografia Etnografii Polskiej

Zapytania do baz danych

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce.

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

I. Program II. Opis głównych funkcji programu... 19

Ćwiczenie 1. Ćwiczenie 2. Ćwiczenie 3. Opisz działanie następujących komend systemowych : COPY EDIT FDISK FIND FORMAT XCOPY

Podstawy open source system SUSE Linux cz. II

Środowisko programisty

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

1. Przekopiuj na dysk F bazę M5BIB.mdb z dysku wskazanego przez prowadzącego 2. Otwórz bazę (F:\M5BIB.mdb)

System Linux - użytkowanie

1. Wyrażenia regularne. Symbole w wyrażeniach regularnych 1 :

Komputerowe systemy zarządzania. Część I: relacyjna baza danych

Architektura systemów informatycznych. Powłoka systemowa Architektura procesora

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Laboratorium 6: Ciągi znaków. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Rys. 1. Dane umieszczone w oddzielnych zestawieniach

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

skrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: pierwsza linia określa powłokę, w której wykonywany jest skrypt; druga to komentarz

Podstawy Kompilatorów

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Lekcja 7 Tablice. Definiowanie tablicy

1. INFORMACJE O DOKUMENCIE 2. WPROWADZENIE 3. FILTROWANIE ADRESÓW IP

Elektroniczny system wspomagający proces rekrutacji do klas I szkół podstawowych Szanowni Państwo,

1 Przygotował: mgr inż. Maciej Lasota

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Trochę o plikach wsadowych (Windows)

Dokument opisuje nowe funkcje systemu związane z wprowadzeniem RODO regulacji o ochronie danych osobowych.

System operacyjny Linux wybrane zagadnienia. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Inicjacja tablicy jednowymiarowej

Publiczne Gimnazjum w Świdwinie - BAZA DANYCH

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

MS Excel cz.3. >>>Otwórz plik: excel_03.xls<<<

Szkolenie z użytkowania platformy ONLINE.WSNS

planer.edu.pl 1. Informacje prawne dot. przetwarzania danych osobowych 2. Logowanie i zapoznanie się z aplikacją

Technologie Informacyjne - Linux 2

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Kwerendy (zapytania) wybierające

plansoft.org Zmiany w Plansoft.org Błyskawiczny eksport danych PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

EDYTOR TEKSTOWY VIM WYBRANE POLECENIA. Pracownia Informatyczna 5

o nazwie: adresy.xls. Fragment danych źródłowych przestawiono na rysunku 1. Rysunek 1. Dane źródłowe - plik "adresy.xls"

planer.edu.pl 1. Logowanie i zapoznanie się z aplikacją

System plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1

Ćwiczenia Linux konsola

Wykład 5. SQL praca z tabelami 2

BIBLIOTEKA LOKALNE CENTRUM WIEDZY PRAKTYCZNEJ PRZEWODNIK PO NARZĘDZIACH WARSZTAT NR 1: ARKUSZE KALKULACYJNE - MINI SKRYPT

INSTRUKCJA UŻYTKOWANIA STRONY DLA PODSTAWOWEGO UŻYTKOWNIKA

ANALIZA DANYCH W STATA 8.0 CZĘŚĆ II

MS Excel cz.3. >>>Otwórz plik: excel_03.xls<<<

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

host name: protokół SSH System plików - wprowadzenie Ścieżki dostępu

Przydatne sztuczki - sql. Na przykładzie postgres a.

EGZAMIN MATURALNY 2011 INFORMATYKA

Systemy operacyjne 12

CAŁOŚĆ OPRACOWANIA POWINNA ZAWIERAĆ MAKSYMALNIE 10 STRON.

Definiowanie języka przez wyrażenie regularne(wr)

Interpreter poleceń oraz zmienne środowiskowe

Dokumentacja użytkownika systemu. Miniaplikacja Filtrowanie adresów IP

Transkrypt:

Linux Filtr grep Opracował: Arkadiusz Curulak WSIiE TWP w Olsztynie Data aktualizacji : 17-06-2002 Pierwsza edycja : 01-06-2002 Spis treści Filtr grep: składnia... 2 Zadanie 1... 2 Zadanie 2... 3 Zadanie 3... 3 Zadanie 4... 3 Zadanie 5... 4 Zadanie 6... 4 Zadanie 7... 5 Zadanie 8... 5 Zadanie 9... 6 Zadanie 10... 6 Zadanie 11... 6 Zadanie 12... 6 Zadanie 13... 6 Zadanie 14... 7 Literatura... 7

Filtr grep 2 Filtr grep Filtr grep poszukuje wzorca w treści plików lub standardowym wejściu. Po wydaniu polecenia grep --help możemy zapoznać się ze jego składnią: Usage: grep [OPTION]... PATTERN [FILE]... Jak widać grep przyjmuje dwa rodzaje argumentów (poza opcjami/parametrami): wzorzec poszukiwań (PATTERN), listę nazw plików, które mają być przeszukane (FILE). Drugi argument jest opcjonalny. Jego brak oznacza, że źródłem danych jest standardowe wejście. Polecenie grep pozwala na korzystanie z wyrażeń regularnych do definiowania wzorca. Do zaprezentowania działanie polecenia grep użyjemy pliku dane.dat, który będzie zawierał następujące dane. dane.dat Gil Franciszek Sowa Teodor Bocian Lucjusz Kawka Marcin Pliszka Anna Puchacz Marcin Mewa Alicja Rybitwa Aleksandra Bocian Hanna Perkoz Franciszek Kruk Marian Zadanie 1 Wyświetl wszystkie wiersze zawierające literę p. grep p dane.dat Polecenie grep nie wyświetliło innych wierszy, gdyż mała litera p występuje tylko w jednym wierszu. Aby grep nie zwracał uwagi na wielkość liter, musimy użyć parametru i. Zatem... grep i p dane.dat Pliszka Anna Puchacz Marcin Perkoz Franciszek

Filtr grep 3 Zadanie 2 Wyświetl wszystkie wiersze zawierające imię Marcin. grep Marcin dane.dat Kawka Marcin Puchacz Marcin Jeżeli chcemy, aby grep wyświetlał wiersz, które nie zawierają zadanego wzorca, musimy posłużyć się parametrem v. Oto przykład odwrotny do powyższego. Zadanie 3 Wyświetl wszystkie wiersze, które nie zawierają imienia Marcin. grep v Marcin dane.dat Gil Franciszek Sowa Teodor Bocian Lucjusz Pliszka Anna Mewa Alicja Rybitwa Aleksandra Bocian Hanna Perkoz Franciszek Kruk Marian Jeżeli wynik filtrowania chcesz uporządkować (posortować) alfabetycznie, możesz posłużyć się poleceniem sort. grep v Marcin dane.dat sort Jeżeli często zdarza się, że poszukujemy tych samych wzorców w różnych plikach, np. często sprawdzamy obecność kilku konkretnych osób w różnych listach, możemy przygotować sobie listę takich wzorców (osób) w oddzielnym pliku. Parametr f sugeruje poleceniu grep skorzystania z takiego pliku z wzorcami. Sprawdźmy to. Oto nasz plik wzorce wzorców (z nazwiskami): dane.dat Czapla Mewa Bocian Zadanie 4 Wyświetl wiersze zawierające wzorce (nazwiska) znajdujące się w pliku wzorce. grep f wzorce dane.dat

Filtr grep 4 Bocian Lucjusz Mewa Alicja Bocian Hanna A co zobaczymy, gdy wydamy poniższe polecenie? grep v -f wzorce dane.dat Jak widać, możemy łączyć ze sobą kilka parametrów. Dodatkowo parametry występujące w poleceniu grep możemy zapisać w łącznie: grep vf wzorce dane.dat Jeżeli interesuje nas jedynie liczba wystąpień wzorca w pliku (plikach), bez drukowania pasujących wierszy, powinniśmy użyć parametru c. Zadanie 5 Ile razy w pliku dane.dat występuje nazwisko Bocian. grep c Bocian dane.dat 2 Informację o numerach wierszy, w których wystąpił wzorzec, uzyskamy za pomocą parametru n. Zadanie 6 W jakich wierszach wystąpiło imię Marcin. grep n Marcin dane.dat 4:Kawka Marcin 7:Puchacz Marcin Mechanizmem bardzo rozbudowującym możliwości polecenia grep są wyrażenia regularne. Jest to bardzo obszerny temat i dlatego nie sposób jest omówić go w całości w tym miejscu. Zainteresowanych odsyłam zatem do lektury [2]. Oto kilka ważniejszych metaznaków występujących w wyrażeniach regularnych: Metaznak Znaczenie. dowolny pojedynczy znak [...] dowolny z wymienionych w nawiasie znaków [^...] dowolny z nie wymienionych w nawiasie znaków ^ miejsce (występuje) na początku wiersza $ miejsce (występuje) na końcu wiersza \< miejsce (występuje) na początku słowa \> miejsce (występuje) na końcu słowa

Filtr grep 5 pasuje do dowolnego z rozdzielonych w ten sposób wyrażeń (...) służy m.in. do zawężenia zasięgu metaznaku Poniżej dla każdego metaznaku przedstawiam przykład. Wcześniej jednak muszę wspomnieć, że korzystanie z wyrażeń regularnych wymaga w niektórych sytuacjach użycia parametru E. Możemy również zamiast grep E używać skrótowo polecenia egrep. W większości przypadków działać jednak będzie polecenie grep (bez E). Zadanie 7 Mam plik imiona.dat: imiona.dat ala hipolit anna ludwik ewa Wydrukuj wszystkie imiona, które składają się z co najmniej 4 znaków. lub lub grep E... imiona.dat egrep... imiona.dat grep... imiona.dat hipolit anna ludwik W kolejnych przykładach używał będę tylko jednej z możliwości najczęściej tej najkrótszej. Zadanie 8 Wydrukuj wszystkie imiona, w których występuje jeden z łańcuchów: al, ar, ol lub or. grep [ao][lr] imiona.dat ala hipolit

Filtr grep 6 Zadanie 9 Wydrukuj wszystkie imiona, w których występuje łańcuch składający się z litery a i po niej litery różnej od l i n. grep a[^ln] imiona.dat Zadanie 10 Wyświetl wszystkie wiersze rozpoczynające się łańcuchem ol. grep ^ol imiona.dat Zadanie 11 Wyświetl wszystkie imiona żeńskie (kończące się literą a). grep a$ imiona.dat ala anna ewa Mamy plik adresy: adresy Jan Kowalski, Olsztyn, ul. Okrzei 5 Adam Pestka, Jonkowo, ul. Prosta 33, apestka@eh2.pl Dawid Kujka, Olsztynek, ul. Dolna 2 Maria Ryba, Warszawa, ul. Grzybowa 3/5 Filip Bocian, Gdynia, ul. Helska 1, fifi_23@epoczta.pl Danuta Fiofik, Szczecin, ul. Pomorska 8/2 Zadanie 12 Wydrukuj wszystkich zamieszkałych w Olsztynie. grep E \<Olsztyn\> adresy Jan Kowalski, Olsztyn, ul. Okrzei 5 Zadanie 13 Wydrukuj wszystkich zamieszkałych w Olsztynie lub Jonkowie. grep E \<(Olsztyn Jonkowo)\> adresy

Filtr grep 7 Jan Kowalski, Olsztyn, ul. Okrzei 5 Adam Pestka, Jonkowo, ul. Prosta 33, apestka@eh2.pl Zadanie 14 Wyświetl wszystkich, którzy mają adresy e-mail. egrep \w+\@\w+(\.\w+)+ adresy Adam Pestka, Jonkowo, ul. Prosta 33, apestka@eh2.pl Filip Bocian, Gdynia, ul. Helska 1, fifi_23@epoczta.pl Kilka wyjaśnień. zapis \. oznacza znak kropki, a nie dowolny znak (\@ to znak @), \w to znak będący częścią słowa, np. litera, cyfra czy znak podkreślenia, + oznacza co najmniej jeden znak, pozostałe są opcjonalne (zatem \w+ oznacza kilka znaków będących częścią słowa). Literatura [1] Petersen R., Arkana Linux, Wydawnictwo RM, Warszawa 1997 [2] Friedl J., Wrażenia regularne, Helion, Gliwice 2001 [3] grep.1.gz (man grep)