AWK A Pattern scanning and processing language made by Aho Weinberger Kernighan and explained by Albert Montijn.

Slides:



Advertisements
Verwante presentaties

Advertisements

KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Operatoren, Arrays, Command-line tools.
Inleiding programmeren in C++ Life Science & Technology 1 maart Universiteit Leiden.
Arduino project.
Practica Computerlinguistiek Tekst en uitleg:
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
VBA en VBS Een introductie.
SQL injections en meer... PERU. web application vulnerabilities Cross Site Scripting (21.5%) SQL Injection (14%) PHP includes (9.5%) Buffer overflows.
Inleiding Databanken: oefeningen 4 Sven Casteleyn 4 Lokaal: 6G HomePage: te bereiken via
VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.
User Centred Development
GESPRG Les 7 Gestructureerd programmeren in C. 92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int.
Opg.1a: substring } String substring(int a) { int t; for (t=a; t
Inleiding programmeren in C++ Life Science & Technology 9 februari Universiteit Leiden.
P. 1 Vakgroep Informatietechnologie Scanf voorbeeld #include int main(void) { int i=-1,j=-1,k=-1,l=-1; int b; b=scanf("%d %d %d %d",&i,&j,&k,&l); printf("res=%d.
Datastructuren Sorteren, zoeken en tijdsanalyse
Lange Termijn Jeugdwerkloosheid en Mismatch Inleiding Debat Prof. Dr. J. Konings KULeuven Workshop Jeugdwerkloosheid 21 mei 2013.
Shortest path with negative arc-costs allowed. Dijkstra?
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Taal nEen Alfabet is… een eindige verzameling symbolen nEen Taal is… een deelverzameling van T* bij een bepaald alfabet T nEen Zin is… een element van.
Tircms02-p les 4 Preprocessor In- en uitvoer Diversen.
Arrays Hoofdstuk 14 Hoofdstuk 14.
Deltion College Engels B1 Gesprekken voeren [Edu/008] theme: ‘I have to arrest you, you’ve stolen my heart’ … can-do : kan een eenvoudig face-to-face gesprek.
Mail: (of Sheets en verdere info: Onderwerp: vervolg C
Deltion College Engels B1 Gesprekken voeren [Edu/006] thema: Look, it says ‘No smoking’… can-do : kan minder routinematige zaken regelen © Anne Beeker.
Deltion College Engels
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies  assembler.
Deltion College Engels C1 Spreken/Presentaties [Edu/004] thema ‘Today I will talk to you about… ‘ can-do : kan duidelijke, gedetailleerde beschrijving.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Hoofdstuk 3 - Conditionele logica
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
Deltion College Engels C1 Spreken [Edu/002] thema: A book that deserves to be read can-do : kan duidelijke, gedetailleerde samenvatting geven van een gelezen.
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
Deltion College Engels B2 Gesprekken voeren [Edu/005]/subvaardigheid luisteren thema: ‘Pink pop and air-controllers on strike’ can-do : kan in een telefoongesprek.
tircms02-p les 1 Operating Systems practicum
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
Deltion College Engels B2 Lezen [Edu/004] thema: Scanning, a race against the time can-do: kan snel belangrijke detailinformatie vinden in lange en complexe.
Deltion College Engels B1 En Spreken/Presentaties [Edu/006] Thema: “The radio station“ can-do : kan een publiek toespreken, kan verzonnen gebeurtenissen.
Deltion College Engels B1 Schrijven [Edu/006] thema: to a prisoner – Amnesty International can-do : kan korte tekst schrijven volgens een vast format ©
Deltion College Engels C1 Schrijven [Edu/006] thema: Dear editor,
Deltion College Engels B2 Lezen [Edu/003] thema: Topical News Lessons: The Onestop Magazine can-do: kan artikelen en rapporten begrijpen die gaan over.
Spreadsheets. Testen. Met spreadsheets.. |  Spreadsheet, het meest gebruikte (test) tool in de wereld …  Aan de slag: Spreadsheet PRA  Risico’s en.
Test Tender module Stap 1 Klik op het gewenste object.
Deltion College Engels B2 Gesprekken voeren [Edu/009] thema: ‘We’d better go to…’ can-do : kan in vertrouwde situaties actief meedoen aan discussies over.
Deltion College Engels B2 Schrijven [Edu/005] thema: Writing a hand-out can-do: kan een begrijpelijke samenvatting schrijven © Anne Beeker Alle rechten.
Deltion College Engels B1 En Spreken/Presentaties [Edu/003]/ Subvaardigheid lezen Thema: Once upon a time… can-do : kan een verhaal(tje) vertellen © Anne.
Deltion College Engels B1 Lezen [Edu/002] thema: But I ‘ve read it in… can-do : kan hoofdthema en belangrijkste argumenten begrijpen van eenvoudige teksten.
Deltion College Engels B2 Gesprekken voeren [Edu/007] thema: ‘With this mobile you can…’ can-do : kan op betrouwbare wijze gedetailleerde informatie doorgeven.
Algoritmiek Controle-structuren Loops; Switch-statement. Hoorcollege 5 - Ma. 2 okt L.M. Bosveld-de Smet.
Deltion College Engels B2 (telefoon)gesprekken voeren[Edu/002] /subvaardigheid lezen/schrijven thema: I am so sorry for you… can-do : kan medeleven betuigen.
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
GegevensAnalyse Les 2: Bouwstenen en bouwen. CUSTOMER: The Entity Class and Two Entity Instances.
Java & het Web Programma: 3rd party libraries Standard actions (E)xpression (L)anguage.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
GEGEVENSSTRUCTUREN IN.NET. Inleiding  Enumerated type  Structure  Collecties  Typed collections  Untyped collections.
LPI 1.05 Marcel Nijenhof. Agenda ● Customize and use the shell environment ● Customize or write simple scripts ● SQL data management.
Javascript. Vandaag Samenvatting vorige les PSD's Random Array's Herhalingen – For-loop – While-loop.
Key Process Indicator Sonja de Bruin
Frontend Oss
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Software Development fundamentals
Gebruikersbijeenkomst SOWISO
Nim, een strategisch spelletje
SQL Les 7 24 February 2019.
PHP regular expressions
SQL Les 6 14 April 2019.
Transcript van de presentatie:

AWK A Pattern scanning and processing language made by Aho Weinberger Kernighan and explained by Albert Montijn

AWK ● Usage: – awk-instructions on the command line ● awk 'awk-instructions' filename... – awk-instructions in a script file: ● awk -f awk-scriptfile... – awk-option: set field-separator ● awk -F:... – awk-option: set variable ● awk -v var=value...

AWK ● Statements in an AWK program are built of lines with patterns and actions: pattern { action } pattern { action ; action ;...} pattern (missing action) { action(s) } (missing pattern) ● Patterns: /regular expression/ $1 == “abc” && NF > 3 || $3 ~ /regex/ BEGIN END

AWK ● Variables: ● NRrecordnumber ● NFnumber of fields ● FSfield separator ● $ncontents of field n. n can be an expression.Eg.: ${NF-1} ● a,buntyped, number or string reference implies existence ● Functies: ● length(X), index(s,t) ● substr(s,i,n) ● sub(r,s,t), gsub(r,s,t) ● match(s,r), split(s,a,r) ● print, (s)printf(fmt,expr-list)

AWK ● Operators in Increasing Precedence ● Assignment:=, +=, -=, *=, /=, %=, ^= ● Logical:||, &&, ~, !~ ● Relational: =, > ● Concatenation: blank ● Add/Subtract:+, - ● Multiply/divide/mod:*, /, % ● Unary plus, minus, not, exponent (^ or **) ● Increment, decrement ● Field:$ expr

AWK ● Arrays ● Associative arrays (hash): index can be any value (integer or string) ● Referencing creates entry: if (arr[“x”] != “”) print “arr[x] exists” ● Control flow statements ● if ( expr ) statement [ else statement ] ● if ( subscript in array )... ● while ( expr ) statement ● for ( init_expr ; test_expr ; increment_expr ) statement ● for ( subscript in array ) statement ● do statement while ( expr ) ● break, continue, next, exit [ expr ], return [ expr ]

AWK ● Reguliere expressies (in AWK) ● c matches non metacharacter c ● \c matches literal character c ●.matches any character but newline ● ^matches beginning of line or string ● $matches end of line or string ● [abc...] character class matches any of abc... ● [^...] negated class matches any but... ● r1|r2 matches r1 or r2 ● r1r2 concatenation: matches r1, then r2 ● r+ matches one or more r's ● r* matches zero or more r's ● (r) grouping: mathes r

AWK ● Functions – Definition func[tion] funcname(parameters..., local_variables){... [return expr] } – Usage [var = ] funcname(actual params)

AWK Geef antwoord op vragen over /etc/passwd 1.Wat is het aantal regels? 2.Wat is de tiende regel? 3.Wat is het laatste veld van elke regel? 4.Wat is het eerste veld van de laatste regel? 5.Geef alle regels waarvan het derde veld > 20 6.Geef alle regels met een regelnummer 7.Geef alle regels zonder het tweede veld 8.Verwissel alle eerste en laatste velden 9.Geef alle regels met eerste veld korter dan 5 10.Welke regels bevatten /etc in voorlaatste veld? 11.Wat is het totaal aantal velden in de file? 12.Wat is het hoogste waarde van het derde veld?