Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux



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

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

Wstęp do informatyki 2011/2012. Wyrażenia regularne (sed)

Przekierowanie wejścia wyjścia:

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

Zastosowanie filtrów w Linuksie

Bash - wprowadzenie. Bash - wprowadzenie 1/39

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

Języki formalne i automaty Ćwiczenia 6

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

J ezyk AWK Kurs systemu UNIX

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

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

Różne pożyteczne polecenia oraz wyrażenia regularne. Kurs systemu Unix 1

System operacyjny Linux

Systemy operacyjne 12

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

BASH - WPROWADZENIE Bioinformatyka 4

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Laboratorium Strumienie w systemach UNIX 4.2 Filtry strumieniowe

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

Zakład Systemów Rozproszonych

Znaki globalne w Linuxie

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Wyrażenia regularne. Wojciech Tabiś Łukasz Jankowski

Modelowanie wielowymiarowe i transformacja danych

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

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

1 Przygotował: mgr inż. Maciej Lasota

Napisy w PHP. Drukowanie napisów instrukcją echo

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

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

Wstęp do systemów wielozadaniowych laboratorium 19 awk

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

Edytor strumieniowy sed

Systemy operacyjne. Laboratorium 5. Awk podstawy. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017

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

2.6 Edytor sed (Stream Editor)

Powłoka (shell) Powłoka ksh

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

Sieci i systemy operacyjne I Ćwiczenie 3. Przekierowania strumieni we/wy. Filtry.

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

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Funkcje standardowe. Filtrowanie

Metody numeryczne Laboratorium 2

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

Skrypty powłoki w systemie Linux

Rozpoczynamy import Kreator uruchamiamy przyciskiem Z tekstu, znajdującym się na karcie Dane, w grupie Dane zewnętrzne.

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Trochę o plikach wsadowych (Windows)

Wstęp do informatyki Shell podstawy

Linux: System Plików

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

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

Systemy operacyjne. Laboratorium 4. Potoki. Jarosław Rudy Politechnika Wrocławska 30 marca 2017

Systemy operacyjne II Laboratorium. Część 1: Pliki wsadowe Windows

Powłoka, redyrekcja, potok

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

Podstawy programowania. Python wykład 6

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

Instrukcja programu mam wersja 1.02.

I. SYSTEM PLIKÓW... 2 MORE... 2 PG... 2 HEAD / TAIL... 2 CAT... 2 PRZEKIEROWANIE STANDARDOWEGO WEJŚCIA / WYJŚCIA... 2 SORT...

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

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

åwiczenia z systemu Unix

Wstęp do programowania

Języki i metody programowania

chmod +x skrypt /bin/bash nazwa_skryptu ZMIENNA=123 ZMIENNA="wartość tekstowa" SCIEZKA="$HOME/plik" echo $SCIEZKA

Operatory wyraŝeń regularnych zapis opcje c

Elementy wyrażeń regularnych

Powłoka bash. Kurs systemu Unix 1

Wstęp do systemu Linux

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

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Projekty zaliczeniowe Podstawy Programowania 2012/2013

Zadanie nr 3: Sprawdzanie testu z arytmetyki

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Technologie Informacyjne - Linux 2

I. Interfejs użytkownika.

Technologie Informatyczne Wykład XI linux

ZADANIA Z PODSTAW PROGRAMOWANIA ZALICZENIE WARUNKOWE, SEMESTR ZIMOWY 16/17

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Programowanie w Logice

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Wstęp do Informatyki dla bioinformatyków

Map Reduce Proste zliczanie słów i zapytania SQL

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Tworzenie skryptu: Skrypty powłoki

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia.

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

Chemiateoretyczna. Monika Musiał. Ćwiczenia

System operacyjny Linux

Sieci Komputerowe 2 / Ćwiczenia 1

Instrukcja SO powłoka BASH i skrypty powłoki Istotne jest zrozumienie działania narzędzia history powłoki BASH. Każde polecenie wprowadzone i

Transkrypt:

Przetwarzanie tekstu 2 Operacje na plikach tekstowych w systemie Linux

filtry programy przetwarzajace pliki (w szczególności tekstowe) w taki sposób, że odczytuja dane (plik wejściowy) ze standardowego wejścia i zapisuja wynik ich przetworzenia (plik wyjściowy) na standardowe wyjście

wybrane programy pakietu textutils (Text Utilitities) cat wypisywanie i łaczenie plików wc zliczanie znaków, słów i linii cut wypisywanie wybranych cz eści linii tr zamiana znaków, wymazywanie znaków, usuwanie powtórzeń znaków uniq usuwanie powtórzeń linii w posortowanym pliku sort sortowanie linii pliku head wypisywanie poczatku pliku tail wypisywanie końca pliku nl numerowanie linii split dzielenie pliku naa cz eści comm porównywanie posortowanych plików linia po linii

inne kluczowe programy grep wybieranie z pliku linii zawierajacych zadane wyrażenie sed edytor tekstowy wsadowy (strumieniowy) awk interpreter j ezyka AWK

wybrane programy pakietu textutils: cat cat [opcje] [plik]... przepisywanie z wejścia na wyjście, łaczenie plików (nie tylko tekstowych) opcje: -n numerowanie linii -s usuwanie powtórzeń pustych linii... (patrz dokumentacja)

wybrane programy pakietu textutils: nl nl [opcje] [plik]... numerowanie linii opcje:... (patrz dokumentacja) przykład polecenie: nl we: Ala ma 22 koty. Ola ma 44 psy. Karol nie ma kota. wy: 1 Ala ma 22 koty. 2 Ola ma 3 44 psy. 4 Karol nie ma 5 kota.

wybrane programy pakietu textutils: split split [opcje] [plik [prefiks]] podział pliku tekstowego na równe fragmenty opcje: -l n po n linii -b n po n bajtów... (patrz dokumentacja) przykład polecenie: split -l 2 we: Ala ma 22 koty. Ola ma 44 psy. Karol nie ma kota. wy: Ala ma 22 koty. Ola ma 44 psy. Karol nie ma kota.

wybrane programy pakietu textutils: wc wc [opcje] [plik]... zliczanie lini, słów i znaków opcje: -l zliczaj tylko linie -w zliczaj tylko słowa -c zliczaj tylko znaki przykład polecenie: wc -l we: Ala ma 22 koty. Ola ma 44 psy. Karol nie ma kota. wy: 5

wybrane programy pakietu textutils: sort sort [opcje] [plik]... sortowanie linii pliku opcje: -u usuwaj duplikaty -r sortuj malejaco -n sortuj numerycznie linie moga być traktowanie, jako całość lub jako ciag pól oddzielonych separatorem opcje dotyczace sortowania z uwzgl ednieniem pól: -t c użyj znaku c jako separatora pól -k m,n sortuj wg fragmentu linii od pola m do pola n -k m sortuj wg fragmentu linii od pola m do końca... (patrz dokumentacja)

wybrane programy pakietu textutils: sort przykład polecenie: sort -r we: Ala ma 22 koty. Ola ma 44 psy. Karol nie ma kota. wy: Ola ma kota. Karol nie ma Ala ma 22 koty. 44 psy.

wybrane programy pakietu textutils: uniq uniq [opcje] [plikwe [plikwy]] usuwa, zlicza, drukuje powtarzajace si e linie w posortowanym pliku (domyślnie usuwa duplikaty linii) opcje: -c zliczaj liczb e wystapień każdej linii -d drukuj tylko powtarzajace si e linie -u drukuj tylko niepowtarzajace si e linie... (patrz dokumentacja)

wybrane programy pakietu textutils: comm textutils: comm [opcje] plik1 plik2 porównanie dwóch posortowanych plików linia po linii w pliku wynikowym linie obecne w obu plikach sa poprzedzone dwoma znakami tabulacji, linie obecne tylko w drugim pliku jednym znakiem tabulacji, a linie obecne tylko w pierwszym pliku nie sa niczym poprzedzone.

wybrane programy pakietu textutils: cut cut [opcje] [plik]... drukowanie cz eści linii opcje: -c lista znaków drukuj tylko znaki na podanych pozycjach -f lista pól drukuj tylko pola o podanych numerach -d c użyj znaku c jako separatora pól... (patrz dokumentacja)

wybrane programy pakietu textutils: tr tr [opcje] zbiór znaków1 [zbiór znaków2] zamiana znaków, wymazywanie znaków, usuwanie powtórzeń znaków; domyślnie (bez opcji) podstawia za znaki ze zbioru znaków1 odpowiednie znaki ze zbioru znaków2 opcje: -c zamiast zbioru znaków1 użyj jego dopełnienia -s likwiduj duplikaty znaków ze zbioru znaków1 (znaczenie tej opcj -d usuń znaki ze zbioru znaków1... (patrz dokumentacja)

wybrane programy pakietu textutils: tr przykłady przykłady: zamiana wielkich liter na małe tr A-Z a-z tr [:upper:] [:lower:] usuwanie pustych linii tr -s \n stworzenie listy słów zawartych w tekście (zastapienie wszystkich ciagów znaków różnych od liter jednym znakiem nowej linii) tr -cs [:alpha:] \n lub

grep grep [opcje] wzorzec [plik]... wybieranie linii pasujacych do wzorca (domyślnie tylko one sa wypisywane na wyjście) opcje: -c zliczaj linie pasujace do wzorca zamiast je drukować -v drukuj niepasujace linie zamiast pasujacych -E interpretuj wzorzec jako rozszerzone/extended wyr. reg. (UWAGA: domyslnie podstawowe/basic)... (patrz dokumentacja)

sed edytor wsadowy sed sed przetwarza plik zgodnie z zadanym skryptem linia po linii skrypt może być podany w linii polecenia lub w pliku sed przechodzi plik tylko raz i może być używany w roli filtra skrypt jest sekwencj a komend oddzielonych średnikami lub znakami nowej linii komenda składa si e z (opcjonalnego) adresu, badź pary adresów i komendy, oddzielonych odst epem obszarem działania polecenia jest linia tekstu adres ogranicza zakres stosowalności komendy do wybranych linii opcje: -r używaj odmiany rozszerzonej/extended wyrażeń regularnych (UWAGA: domyślnie basic) -n nie drukuj domyślnie linii na wyjście... (patrz dokumentacja)

sed komendy [adres1,adres2] ] funkcja [argumenty] adres n numer linia numer n $ ostatnia linia /wzorzec/ linie pasujace do wzorca adres! negacja adresu... (patrz dokumentacja) funkcja s/wzorzec/podstawienie/ zastap pierwsze wystapienie napisu pasujacego do wzorca przez podstawienie s/wzorzec/podstawienie/g j.w., ale zastap wszystkie wystapienia d wymaż lini e... (patrz dokumentacja)

sed przykłady najprostsza postać wywołania: sed skrypt przykłady: usuń wszystkie znaki odstepu na końcach linii sed -r s/[ ]+$ // zamień wszystkie wyst apienia słowa alfa na beta, ale tylko w liniach nie rozpoczynajacych si e od znaku #. sed -r /ˆ#/! s/alfa/beta/g

łaczenie filtrów ł aczac omówione programy za pomoca potoków możemy dokonywać całkiem skomplikowanych operacji na tekście schemat: cat plik we filtr 1 filtr 2... filtr n > plik wy

łaczenie filtrów: obliczanie liczby słów w tekście cat text tr -sc [:alpha:] \n wc -l Ala ma 22 koty. Ola ma 44 psy. Karol nie ma kota. Ala ma koty Ola ma psy Karol nie ma kota 10

łaczenie filtrów: wypisanie 3 najcz estszych słów wyst epuj acych w tekście cat text tr -sc [:alpha:] \n sort uniq -c \ sort -nr head -3 sed -r s/ˆ *[0-9]+ +// Ala ma 22 koty. Ola ma 44 psy i kota. Karol nie ma kota. Ala ma koty Ola ma psy kota Karol nie ma kota Ala Karol kota kota koty ma ma ma nie Ola psy 1 Ala 1 Karol 2 kota 1 koty 3 ma 1 nie 1 Ola 1 psy 3 ma 2 kota 1 psy 1 Ola 1 nie 1 koty 1 Karol 1 Ala 3 ma 2 kota 1 psy ma kota psy