Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Hasonló dokumentumok
Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek gyak.

AWK programozás Bevezetés

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Szűrők, reguláris kifejezések AWK programozás: minták, vezérlési szerkezetek, tömbök, beépített függvények, reguláris kifejezések

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Szűrők Reguláris kifejezések, AWK

Operációs Rendszerek II. labor. 2. alkalom

Operációs rendszerek gyak.

BASH SCRIPT SHELL JEGYZETEK

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 1. gyakorlat. Bevezetés, követelmények UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Szkriptnyelvek. 1. UNIX shell

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

S z á m í t ó g é p e s a l a p i s m e r e t e k

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Munka állományokkal. mv: áthelyezés (átnevezés) rm: törlés. rmdir: üres könyvtár törlése. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

1. Alapok. #!/bin/bash

Reguláris kifejezések 1.

length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki.

Bevezetés jogosultságkezelés, csővezeték, átirányítások. BASH script programozás

Operációs rendszerek 2 3. alkalom - Reguláris kifejezések, grep, sed. Windisch Gergely windisch.gergely@nik.uni-obuda.hu

Operációs Rendszerek Gyakorlat

Munka állományokkal, könyvtárakkal I.

chmod umask chown, chgrp

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Munka állományokkal. mv: áthelyezés (átnevezés) rmdir: üres könyvtár törlése rm: törlés. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

BASH script programozás II. Vezérlési szerkezetek

Operációs rendszerek gyakorlat

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

Operációs rendszerek gyakorlat

Operációs rendszerek gyakorlat

Operációs rendszerek gyakorlat

Bevezetés jogosultságkezelés, csővezeték, átirányítások. BASH script programozás

Operációs rendszerek 1.

Operációs Rendszerek példatár. Utolsó frissítés: február 10.

7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II.

S z á m í t ó g é p e s a l a p i s m e r e t e k

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Operációs rendszerek 1.

Parancsok. 1. fejezet Könyvtár- és fájlkezelés

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés


Programzás I gyakorlat

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Operációs rendszerek I. IIII. gyakorlat

1. gyakorlat

Bevezetés az informatikába

Operációs rendszerek gyakorlat

Operációs Rendszerek Gyakorlat Triviális segédfeladatok június PERL Tömbök és hashek Feladat: május 26-i beugró

További vezérlő valamint számításokat megkönnyítő szerkezetek

Rendszerprogramozás Linux környezetben

Flex tutorial. Dévai Gergely

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Számítógépes alapismeretek

Tájékoztató. Használható segédeszköz: -

PHP. Adatbázisok gyakorlat

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

Bevezetés a programozásba I.

Bevezetés a programozásba I.

Occam 1. Készítette: Szabó Éva

A sed folyamszerkesztő

Tájékoztató. Használható segédeszköz: -

18. témakör. Jogosultságok (Windows és Linux jogosultságok összehasonlítása, helyi és megosztási jogosultságok)

PYTHON. Avagy hosszú az út a BioPythonig

Informatikus informatikus Térinformatikus Informatikus T 1/9

Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

A C# programozási nyelv alapjai

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Operációs rendszerek I. - UNIX felhasználói ismeretek és héjprogramozás. Az awk

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

Unix-Linux alapok II. gyakorlatvezető: Lutár Patrícia

Mérnöki programozás 8. Szerkesztette: dr. Vass Péter Tamás

Tájékoztató. Használható segédeszköz: -

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

A JavaScript főbb tulajdonságai

Bisonc++ tutorial. Dévai Gergely. A szabály bal- és jobboldalát : választja el egymástól. A szabályalternatívák sorozatát ; zárja le.

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

GNU/Linux segédprogramok használata 1.0

További vezérlő valamint számításokat megkönnyítő szerkezetek

Archivált tanulmányi adatok importálása. Felhasználói dokumentáció verzió 2.0.

Regionális forduló november 18.

Makrók használata az Excelben - Makróhibák kezelése, biztonságos jelszavak generálása

A WEBOPAC (online elektronikus katalógus) használata. 1. Keresés az adatbázisban (összetett):

Operációs rendszerek. A mai program. Jó dolog a test parancs! Segédprogramok, szűrők

Adatbázis rendszerek. dr. Siki Zoltán

S z á m í t ó g é p e s a l a p i s m e r e t e k

Regionális forduló november 19.

Átírás:

UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - bevezetés Operációs rendszerek 10. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 1 / 15

Reguláris kifejezések Alapvetően mintaillesztés Egy reguláris kifejezés a szövegnek mindig a legkorábban elkezdődő, és ezen belül a leghosszabb részére illeszkedik Az illeszkedő rész a szövegen belül bárhol előfordulhat Alapesetben a kisbetűk és nagybetűk különbözőnek számítanak illesztéskor A reguláris kifejezésekben néhány karakternek speciális jelentése van Érdemes aposztrófok közé zárni A reguláris kifejezésekkel mélyebben a formális nyelvek elmélete foglalkozik Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 2 / 15

A reguláris kifejezések felépítése I Elemi kifejezések: ([kifejezés]): csoportosítás, [kifejezés]-re illeszkedik [[halmaz]]: A halmaz bármely karakterének egy példányára illeszkedik ([halmaz] - karakterek egymás után írása) [[karakter1]-[karakter2]]: mint előbb, de itt egy tartományt adunk meg [karakter1] és [karakter2] között [^[halmaz]]: a halmazban nem szereplő bármely karakter egy példányára illeszkedik.: bármilyen karakter egy példányára illeszkedik ^: a sor elejére illeszkedik $: a sor végére illeszkedik \[karakter]: a \ után írt speciális jelentésű karaktert közönségesként kezeli [karakter]: bármely közönséges karakter saját maga egy példányára illeszkedik ((): az üres szóra illeszkedik) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 3 / 15

A reguláris kifejezések felépítése II Összetett kifejezések: [kifejezés1][kifejezés2] : Összefűzés, konkatenáció - olyan szövegre illeszkedik, amelynek első fele [kifejezés1]-re, második fele [kifejezés2]-re illeszkedik [kifejezés1] [kifejezés2] : Logikai MEGENGEDŐ VAGY - olyan szövegre illeszkedik, amely legalább az egyik kifejezésre illeszkedik ismételt illesztés, ismétlésszám megadása: [kifejezés]*: [kifejezés] akárhány egymást követő példányára illeszkedik (0 is) [kifejezés]+: [kifejezés] legalább 1 egymást követő példányára illeszkedik [kifejezés]?: [kifejezés] 0 vagy 1 példányára illeszkedik [kifejezés]{[szám]}: [kifejezés] pontosan [szám] egymást követő példányára illeszkedik [kifejezés]{[szám],}: [kifejezés] legalább [szám] egymást követő példányára illeszkedik [kifejezés]{[szám1],[szám2]}: mint az előbb, de legfeljebb [szám2] példányra illeszkedik ( [szám1] [szám2] ) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 4 / 15

AWK - bevezetés Olyan szkriptnyelv, amit szöveges állományok feldolgozására terveztek adatvezérelt nyelv: minták és tevékenységek sorozatából áll Elnevezése a megalkotói Alfred Aho, Peter Weinberger és Brian Kernighan családneveinek kezdőbetűiből született Szintaxisa könnyedebb Elérhető MS-DOS operációs rendszer alatt is Három üzemmódja van Interaktív mód - AWK parancs + programkód: nehezen olvasható Interaktív mód - AWK parancs külső fájlból: -f kapcsolóval adható meg a programkód, majd a bemeneti állomány Script mód: az értelmező a végrehajtandó parancsokat egy szöveges állományból olvassa Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 5 / 15

AWK - alapok A fájlok kiterjesztése.awk (konvenció) A script első sora tartalmazza a parancsértelmező fejlécet # jelnek közvetlenül a sor elején kell elhelyezkednie #! /usr/bin/awk f #! /usr/bin/gawk - GNU/Linux alatt ezt használhatjuk Az AWK scripteket hasonlóan kell futtatni mint a BASH scripteket, azonban ezeknek bemeneti állományt is meg kell adni Futtatás: chmod +x [állománynév]: futtatási jog engedélyezése./[elérési út + állománynév] [bemeneti_állománynév]: script futtatása Ha az aktuális mappában van:./[állománynév] [bemeneti_állománynév] Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 6 / 15

AWK - felépítés Alapvetően a bemeneti szöveget rekordokra tördeli egy megadott elválasztó (delimeter) szerint A delimeter lehet karakter, vagy reguláris kifejezés is Az így kapott sorokat ezután változókba letárolja ($1, $2,, $NF) A rekordokat ezután továbbbontja mezőkre egy másik elválasztó szerint Minden AWK forrásprogram szabályok sorozata. A szabály felépítése: [minta]{[akció]} [minta]: egy logikai feltételt fogalmaz meg [akció], avagy tevékenység: különféle utasításokból állíthatjuk össze Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 7 / 15

AWK sorok / rekordok -rwx------ 1 frodo frodo 0 2017-03-28 17:00 1.sh -rwx------ 1 frodo frodo 180 2017-03-28 17:05 SZE.sh -rw-rw-r-- 1 frodo frodo 0 2017-03-28 17:01 2.txt -rwx------ 1 frodo frodo 0 2017-03-28 17:02 3.sh drwxrwxr-x 2 frodo frodo 4096 2017-03-28 17:00 os -rwx------ 1 frodo frodo 0 2017-03-28 17:00 1.sh -rwx------ 1 frodo frodo 180 2017-03-28 17:05 SZE.sh -rw-rw-r-- 1 frodo frodo 0 2017-03-28 17:01 2.txt -rwx------ 1 frodo frodo 0 2017-03-28 17:02 3.sh drwxrwxr-x 2 frodo frodo 4096 2017-03-28 17:00 os sor rekord Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 8 / 15

AWK felépítés, minták I Minden minta egy logikai feltételt fogalmaz meg. Ha a feltétel teljesül egy konkrét rekord esetén, akkor azt mondjuk, hogy a rekord illeszkedik a mintára Elemi minták: BEGIN: pontosan egyszer hajtódik végre, a legelső bemeneti rekord feldolgozása előtt END: pontosan egyszer hajtódik végre, az utolsó bemeneti rekord feldolgozása után. Ezt az awk program befejez ődése követi.![minta]: logikai tagadás ([minta]): csoportosítás /[reg_kif]/: igaz, ha az egész rekord illeszkedik a megadott reguláris kifejezésre [kifejezés]~/[reg_kif]/: igaz, ha a kifejezés mint szöveg illeszkedik a reguláris kifejezésre [kifejezés]!~/[reg_kif]/: az előző tagadása Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 9 / 15

AWK - workflow I A bemenet feldolgozása rekordonként történik - minden rekordot megpróbál illeszteni sorban az összes szabály mintájára, az első szabálytól kezdve Ha a rekord illeszkedett egy szabály mintájára, akkor végrehajtódik a hozzá tartozó akció Az összes szabály ellenőrzése után rátér a következő rekord feldolgozására A szabályok sorrendje fontos, hiszen a mintákra való illeszkedés ellenőrzése, és így az akciók végrehajtásának sorrendje ettől függ Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 10 / 15

AWK - workflow II Akció végrehajtása a BEGIN mintából Sor olvasása az input folyamból Ha a rekord illeszkedik a mintára, akció végrehajtása Nem Fájl vége? Igen Akció végrehajtása az END mintából Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 11 / 15

AWK script Hello World! #! /usr/bin/awk -f BEGIN { print "Hello, world" } hello.awk Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 12 / 15

AWK, grep - feladatok Írj olyan scriptet, ami az ls -l kimenetéből kiszűri a mappákat, és kiírja ezek nevét! (os10_1.awk) Írj olyan scriptet, ami az ls -l kimenetéből kiszűri azokat a szöveges állományokat, melyeknek a nevében az "os" sztring legalább egyszer szerepel! (os10_2.awk) Írj olyan scriptet, ami az ls -l kimenetéből kiszűri azokat a közönséges állományokat, melyekre a tulajdonos rendelkezik végrehajtási joggal! (os10_3.awk) Írj olyan scriptet, ami az ls -l kimenetéből kiszűri azokat a közönséges állományokat, melyekre mindenki rendelkezik végrehajtási joggal! (os10_4.awk) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 13 / 15

AWK, grep - feladatok II Írj olyan scriptet, ami kiszűri a helyes webcímeket a helytelenek közül! Az általunk kitalált fiktív szabályok szerint egy URL a következőképpen néz ki: http vagy https protokollal kezdődik Ezután következik: :// Minden cím www. -al kezdődik, valamint.com,.net, vagy.org -ra végződik A kezdete és a vége között legalább egy hosszú szövegnek kell elhelyezkedni, melyben nem lehet "." os10_5.awk Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 14 / 15

AWK, grep - feladatok III Írj olyan scriptet, ami kiszűri a helyes email címeket a helytelenek közül! Az általunk kitalált fiktív szabályok szerint egy email cím a következőképpen néz ki: az email címek [basename]@[domain].[top-level_domain] alakúak a [basename] csak a következő speciális karaktereket tartalmazhatja:._+-!?, de ezekkel nem kezdődhet! a [domain] csak a - speciális karaktert tartalmazhatja a [top-level_domain] csak kisbetűket és számokat tartalmazhat, valamint hossza 2 és 3 közé kell essen hogy os10_6.awk Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 15 / 15