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

Hasonló dokumentumok
Operációs rendszerek gyak.

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

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

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

AWK programozás Bevezetés

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

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

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH 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

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

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

Szkriptnyelvek. 1. UNIX shell

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

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

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

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

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.

BASH SCRIPT SHELL JEGYZETEK

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

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

1. Alapok. #!/bin/bash

A C# programozási nyelv alapjai

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


Java programozási nyelv

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

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

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Operációs rendszerek gyak.

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).

3 A C programozási nyelv szintaktikai egységei

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

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)

Felvételi tematika INFORMATIKA

6. BASH programozás I.

Szkriptnyelvek II. Perl programok

Informatika terméktervezőknek

Forráskód formázási szabályok

Vezérlési szerkezetek

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

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

A C programozási nyelv I. Bevezetés

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

Mintavételes szabályozás mikrovezérlő segítségével

Vezérlési szerkezetek. Szelekció Ciklusok

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Java II. I A Java programozási nyelv alapelemei

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

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

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?

Webprogramozás szakkör

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

A C programozási nyelv II. Utasítások. A függvény.

INFORMATIKAI ALAPISMERETEK

A C programozási nyelv I. Bevezetés

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Operációs Rendszerek Gyakorlat

Bevezetés a programozásba I.

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.

Programozás alapjai. 5. előadás

C programozás. 1 óra Bevezetés

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

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.

Kifejezések. Kozsik Tamás. December 11, 2016

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

Óbudai Egyetem. C programozási nyelv

UNIX/héjprogramozás - awk. Az awk

A programozás alapjai

Programozás alapjai 9.Gy: Struktúra 2.

Algoritmizálás és adatmodellezés tanítása 1. előadás

INFORMATIKA tétel 2019

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

A JavaScript főbb tulajdonságai

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

Objektumorientált Programozás III.

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

Kifejezések. Kozsik Tamás. December 11, 2016

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Szoftvertervezés és -fejlesztés I.

Programozás I gyakorlat

Komputeralgebra Rendszerek

Kézikönyv. Szelekciós operátorok használata

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

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

Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38

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

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Átírás:

UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 1 / 13

AWK - workflow - ismétlés BEGIN { } Sor olvasása az input folyamból MINTA { } Nem Fájl vége? Igen END { } Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 2 / 13

AWK - szintaxis A szabályok alakja: [minta]{[akció]} Hiányzó minta esetén az illető akció minden sor esetén lefut A hiányzó akció ekvivalens a {print} akcióval, ami kiírja az egész sor tartalmát A {} páros az üres akciót jelöli, tehát nem egyezik meg az akció elhagyásával! Az akciók utasításlistája több sorból is állhat #: A sor végéig tartó megjegyzés $[szám]: az aktuális sor megadott sorszámú mezőjének tartalma $NF: az aktuális rekord utolsó mezőjének tartalma (ld. később) $[szám]=[érték]: egy adott mező, ill [szám]=0 esetén a sor értékének módosítása Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 3 / 13

AWK felépítés, összetett minták Összetett minták: [minta1]&&[minta2]: logikai ÉS [minta1] [minta2]: logikai MEGENGEDŐ VAGY [minta1],[minta2]: Rekordok tartományára illeszkedik, kezdve egy olyan rekorddal, amely [minta1]-re illeszkedik, egészen egy olyan rekordig, amely [minta2]-re illeszkedik A BEGIN és END mintákhoz mindig meg kell adni az akciót is, ezek a speciális minták nem kombinálhatók semmilyen más mintával, valamint nem alkalmazható rájuk a csoportosítás és a negáció sem Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 4 / 13

AWK felépítés, akciók A szabályok akcióját alkotó utasítások építőelemei: Változók Tömbök (ld. jövő órán) delete utasítás (ld. jövő órán) Aritmetikai kifejezések Vezérlési szerkezetek Egyéb utasítások Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 5 / 13

AWK - változók A változók neve betűket, számokat és aláhúzásjelet tartalmazhat, és nem kezdődhet számjeggyel Változók típusai: numerikus változók, szöveges változók, egydimenziós tömbök A tömböket kivéve minden változó típusa dinamikus, azaz a használattól függően változik [név]=[érték]: értékadás [név]: a megadott nevű változó aktuális értékének behelyettesítése A változók értékét az awk automatikusan konvertálja számmá vagy szöveggé, a használati módtól függően Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 6 / 13

AWK - beépített változók FILENAME: az aktuális bemeneti állomány neve A BEGIN minta akcióján belül definiálatlan NR: az aktuális rekord sorszáma az eddig feldolgozott bemenet tekintetében. FS: bemeneti mezőhatároló karakter, kezdetben a szóköz RS: bemeneti rekordhatároló karakter, kezdetben a sortörés OFS: Kimeneti mezőhatároló, kezdetben a szóköz ORS: Kimeneti rekordhatároló, kezdetben a sortörés IGNORECASE: ha értéke nem 0, akkor a kis- és nagybetűk ekvivalensek NF: az aktuális rekord mezőinek száma Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 7 / 13

AWK - aritmetikai kifejezések Egész és lebegőpontos értékekkel is lehet számoni A legtöbb szokásos aritmetikai művelet használható: +, -, *, /, %, (, ), ^ Értékadás, rövidített írásmód: =, +=, -=, *=, /=, %=, ^= Pre- és postfix inkrementálásra is van lehetőség: ++, -- Aritmetikai összehasonlítások: ==,!=, <, <=, >, >= Logikai operátorok: &&, Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 8 / 13

AWK - vezérlési szerkezetek if ([feltétel]) [parancslista]... else [parancslista] while ([feltétel]) [parancslista] do [parancslista] while ([feltétel]) for ([kif1]; [kif2]; [kif3]) [parancslista] for ([index] in [név]) [parancslista] Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 9 / 13

AWK - egyéb utasítások break, continue: kilépés a ciklusból, ill. rátérés a ciklus következő iterációjára exit: a bemenet feldolgozásának azonnali befejezése, ill. ha nem az END minta akciójában vagyunk, akkor oda ugrás print [lista]: kiírja a vesszővel tagolt [lista] tagjainak értékét print: az aktuális rekord teljes tartalmát írja ki printf [formátum sztring], [lista] : formázott kiíratás a C- ben megismert printf() függvényhez hasonlóan next: azonnal nekikezd a következő bemeneti rekord feldolgozásához, a legelső szabály mintáját tesztelve Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 10 / 13

AWK - egyéb utasítások #! /usr/bin/awk -f # Kiírja az osztalyzatok.csv fájlból a tanulok nevét és EHA kódját # Használat:./os11_1.awk osztalyzatok.csv BEGIN { FS = "; print "ELEJE print " } NR > 1 { printf("%s\t%s\n", $1, $2) } # vagy: NR > 1 { OFS = "\t" print $1, $2 print " } END { print "VÉGE" } os11_1.awk Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 11 / 13

AWK - feladatok I Írj olyan AWK scriptet, ami az ls kimenetéből kiírja a fájl nevét, majd a fájl tulajdonosának nevét! (os11_2.awk) Írj olyan AWK scriptet, amely az ls kimenetéből kiszűri azokat az állományokat, melyekre a tulajdonosnak van futtatási jogosultsága, és 2015 után hozták létre! (os11_3.awk) Írj olyan AWK scriptet, ami meghatározza az aktuális mappában lévő legtöbb tárhelyet foglaló állományt! (os11_4.awk) Írj olyan AWK scriptet, ami minden páros sort ír ki az ls kimenetéből! (os11_5.awk) Írj olyan AWK scriptet, ami kiszámolja az osztalyzatok.csv fájlból az operációs rendszerek tárgy átlagát! (os11_6.awk) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 12 / 13

AWK - feladatok II Írj olyan AWK scriptet, ami a osztalyzatok.csv fájlban található adatokból hallgatónként kiszámolja az átlagokat, valamint összesített átalagot is készít! (os11_7.awk) Írj olyan awk scriptet, ami minden páros oszlopot ír csak ki a képernyőre az ls kimenetéből! (os11_8.awk) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 13 / 13