Operációs rendszerek gyakorlat

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

AWK programozás Bevezetés

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

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

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

BASH SCRIPT SHELL JEGYZETEK

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. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

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

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

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

Szkriptnyelvek II. Perl programok

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

Smalltalk 2. Készítette: Szabó Éva

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

Programozás I gyakorlat. 10. Stringek, mutatók

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

Python bevezető foglalkozás Python bevezető foglalkozás

PYTHON. Avagy hosszú az út a BioPythonig

Python tanfolyam Python bevezető I. rész

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

1. Jelölje meg az összes igaz állítást a következők közül!

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.

Szkriptnyelvek. 1. UNIX shell

Hálózatok építése és üzemeltetése

Flex tutorial. Dévai Gergely

Operációs rendszerek gyak.

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.

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

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

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

Reguláris vagy szabályos kifejezések használata

A C# programozási nyelv alapjai

A programozás alapjai

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

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

Reguláris kifejezések 1.

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

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Alapozás. Scriptek, scriptnyelvek. Dinamikus és statikus típusrendszerek. Miért érdemes használni? Perl

Sztringkezelő függvények. A string típusú változók kezelése, használata és szerepük a feldolgozás során

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

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

Operációs rendszerek 1.

Java II. I A Java programozási nyelv alapelemei

WEB PROGRAMOZÁS 3.ELŐADÁS. Űrlapok

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

Alprogramok, paraméterátadás

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

PHP-MySQL. Adatbázisok gyakorlat

Informatika terméktervezőknek

Reguláris vagy szabályos kifejezések

PHP. Adatbázisok gyakorlat

Operációs Rendszerek Gyakorlat

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Oktatási segédlet 2014

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Bevezetés a programozásba. 11. Előadás: Esettanulmány

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

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

Bevezetés a programozásba I.

Java programozási nyelv

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Adatszerkezetek Hasító táblák. Dr. Iványi Péter

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

Programozási nyelvek Python

Algoritmizálás + kódolás C++ nyelven és Pascalban

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Regionális forduló november 19.

8. Perl programozás. A Perl nyelv. szá gen Szeged Csűrös Miklós április 6. Hello world. Változók

A JavaScript főbb tulajdonságai

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

Operációs rendszerek gyak.

Bevezetés a programozásba 2

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

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

Adatszerkezetek 7a. Dr. IványiPéter

Operációs rendszerek 1.

Objektum Orientált Programozás VII.

1. Alapok. Programozás II

Tartalomjegyzék. I. rész Az elsõ lépések

Java és web programozás

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

FUNKCIONÁLIS PROGRAMOZÁS GYAKORLAT JEGYZET

Programozási segédlet

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

Objektum Orientált Programozás IV.

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

A Python programozási nyelv

Internet programozása. 3. előadás

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

programok rugalmasságát. Ha jól értünk a tömbökhöz, képesek vagyunk nagy méretû, összetett adatokat tárolni és kezelni.

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

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


Átírás:

Operációs rendszerek gyakorlat 10. Gyakorlat Vakulya Gergely

Az alapértelmezett változó - I. Sok függvény és vezérlési szerkezet alapértelmezett változóval tömörebbé tehető $_ while, <>, print, stb. 2

Az alapértelmezett változó - I. Egy egyszerű példa: while ($sor=<stdin>) { print $sor; } 3

Az alapértelmezett változó - II. Ugyanez alapértelmezett változóval: while (<STDIN>) { print $_; } 4

Az alapértelmezett változó - III. Tömörebben és egyszerűbben while (<>) { print; } 5

Reguláris kifejezlések használata A Perl nagy erőssége a reguláris kifejezések egyszerű használata Két gyakori művelet: Illesztés (match, m) Csere (substitution, s) 6

Reguláris kifejezések illesztése $sor= szilva alma korte ; if ($sor=~m/alma/) { print Illeszkedik\n ; } else { print Nem illeszkedik\n ; } 7

Rövidítés alapértelmezett változóval $_= szilva alma korte ; if (/alma/) { print Illeszkedik\n ; } else { print Nem illeszkedik\n ; } 8

Illesztési példák Nem csak szavakat, hanem bármilyen reguláris kifejezést is illeszthetünk. /alma../ alma után két tetszőleges karakter /a.*a/ a, tetszőleges karakterek, majd a /alfa beta/ alfa vagy beta /e(r k)/ e után r vagy k /[A-Z]*[^A-Z]*/ Akárhány nagybetű 9

Karakter-osztályok - I. Perl-ben is használhatók karakterosztályok: \w word : Minden kis-és nagybetű, valamint az aláhúzás jel (_) \s space : Whitespace karakterek (space, tabulátor, stb) \d digit : Számok 10

Karakter-osztályok - II. A karakter-osztályok komplementerei is egyszerűen megadhatók: \W: Minden, ami nem tartozik a \wbe \S: Minden, ami nem tartozik a \sbe \D: Minden, ami nem tartozik a \dbe 11

Az illeszkedő rész kinyerése Előfordulhat, hogy az illesztett kifejezést illeszkedő részét is meg szeretnénk kapni Illesztés után ez a $& speciális változóban tárolódik 12

Csoport képzése ****** A reguláris kifejezésen belül használhatunk zárójeleket, így csoportokat alakíthatunk ki. A csoportra illeszkedő stringet kinyerhetjük /(\w+) (\w+)/ print Vezeteknev:.$1; print Keresztnev:.$2; 13

Csere reguláris kifejezéssel Szintaxis: s/mit/mire/; (Alapértelmezett változóval) $var=~s/mit/mire/; (Bármely változóval) s/veszpremi Egyetem/Pannon Egyetem/; A zárójelezés itt is használható: s/(glomer)/censored $1/; 14

Globális csere Az előző módszer csak az első találatot cseréli. Az összes találat cseréjéhez a következő szintaxis használható: s/mit/mire/g; (g=global) 15

Tabulált adatbázisok használata - I. Reguláris kifejezések használatával egyszerűen kezelhetőek tabulált adatbázisok A tabulált adatbázis egy szövegfájl, hasonló sorokkal: Domotor Igor Felsoberecki 3985 06-70-753-2527 Bejczy Eva Saska 8308 06-85-220-704 16

Tabulált adatbázisok használata - II. Az adatbázis feldolgozása: open(be, "lista_nagy.txt") or die("hiba\n"); while($sor=<be>){ chomp($sor); $sor=~/(\w+ \w+)\t(\w+)\t(\d+)\t(.*)$/; print("nev: ".$1."\n"); print("lakhely: ".$2."\n"); print("iranyitoszam: ".$3."\n"); print("telefonszam: ".$4."\n"); print("\n");} 17

Tabulált adatbázisok használata - III. A mezők darabolása után azok szintén darabolhatók, például a név vezeték- és keresztnévre, a telefonszám körzetszámra és egyébre. Példa: Mobilosok és vezetékesek számlálása 18

Stringek vágása A stringek darabolása egyszerűbben is megoldható: split(/elválasztó/,string); A függvény visszatérési értéke egy tömb lesz, amely az egyes mezőket tartalmazza. A függvénynek megadható egy limit is: split(/elválasztó/,string,lim 19

Példa a split-re @a=split(/[\t ]/,"aaaa bbb\tccccc"); foreach $a (@a) { print $a."\n"; } Az elválasztó tetszőleges reguláris kifejezés lehet. 20

Mezők összeillesztése join(elválasztó,tömb); A függvény visszatérési értéke egy string. $bejegyzes=join( \t, ( név, cím, telefon )); 21

Hash-ek használata A hash (asszociatív tömb) egy olyan 'tömb', aminek az elemeit nem számok indexelik, hanem skalárok (stringek, számok, stb). $h{ kulcs }= ertek ; Fontos függvénye a keys, ami egy tömbben visszaadja a hash kulcsait. 22

Hash bejárása foreach $kulcs (keys %hash) { print $hash{$kulcs}. \n ; } 23

HTML file feldolgozása (Külön forrásfile-ban) A tavalyi egyik beugró feladathoz nagyon hasonló: A Glomeren található eredmenyek_nappali.html-ből gyűjtsük ki a Neptun kódokat és grafikusan, csillagok segítségével rajzoljunk grafikont a pontokból. 24

A perl modulkezelő A Perl-hez rengeteg modul érhető el (cpan.org) A modulok között függőségi reláció van definiálva (adott modul működéséhez mely más modulokra van szükség) A modulok automatizált kezelésére a Perl beépített eszközzel rendelkezik 25

Perl programok 'fordítása' A Perl programokból önállóan használható (standalone) végrehajtható file készíthető. Ehhez a pp modulra van szükség. pp -l libxml2.dll -l iconv.dll -l zlib1.dll -o tcp_server.exe -M IO::Socket -M Net::hostent tcp_server_2.pl 26