Εργαστήριο 4: Εργαλεία Συστήματος UNIX. Διδάσκων: Γιώργος Χατζηπολλάς. Στο εργαστήριο θα μελετηθούν: Εργαστηριακή Άσκηση 2 Παραδείγματα χρήσης awk

Σχετικά έγγραφα
Εργαστήριο 6 Ασκήσεις: To Εργαλείo Ωφελιμότητας Awk Προγραμματισμός Κελύφους Bash

Διάλεξη 7 Εργαλεία Ωφελιμότητας Unix: Αwk

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

Στο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση

Μερικές άλλες χρήσιμες εντολές

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

S, (5, -3, 34, -23, 7) ( *, _

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Μερικές άλλες χρήσιμες εντολές

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 10o ΕΡΓΑΣΤΗΡΙΟ

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΦΑΡΜΟΓΩΝ

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Μεθόδων Επίλυσης Προβλημάτων

Εισαγωγή στα Λειτουργικά Συστήματα

Γαβαλάς αµιανός

ΗΜΥ 213. Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών. Ασκήσεις: week3 και week4. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

Εργαστήριο 9: Αρχεία

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 2

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ. ΕΠΛ371 - Προγραµµατισµός Συστηµάτων

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Εργαστήριο ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ UNIX

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Πληροφορική 2. Δομές δεδομένων και αρχείων

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

Λειτουργικά Συστήματα

Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός

2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Λειτουργικά Συστήματα

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

7-22 Οκτωβρίου Μία γιορτή δημιουργίας με κώδικα. Europe Code Week

Προγραμματισμό για ΗΜΥ

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΕΞΕΤΑΣΕΙΣ ΠΡΟΣΟΜΟΙΩΣΗΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: 7

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους:

α. Λογικό διάγραμμα είναι η μέθοδος που χρησιμοποιεί απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση συγκεκριμένων λειτουργιών.

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

ΦΙΛΤΡΑ KALMAN ΕΞΑΜΑΗΝΙΑΙΑ Β - ΕΠΕΞΗΓΗΣΕΙΣ

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

Αλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 6o ΕΡΓΑΣΤΗΡΙΟ

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

ΑΝΑΠΑΡΑΣΤΑΣΗ ΚΕΙΜΕΝΟΥ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία

Αβδέλαρου Κωνσταντίνα

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

ΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών LAB 1 ( )

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

Εισαγωγή στα Λειτουργικά Συστήματα

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 3 ΙΟΥΝΙΟΥ ΑΕΠΠ

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εργαστήριο 10 Πίνακες. Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Transcript:

Εργαστήριο 4: Εργαλεία Συστήματος UNIX Στο εργαστήριο θα μελετηθούν: Εργαστηριακή Άσκηση 2 Παραδείγματα χρήσης awk Αρίθμηση και Μαθηματικοί Υπολογισμοί Βρόγχοι Πίνακες Διδάσκων: Γιώργος Χατζηπολλάς 3-1

Εργαστηριακή Άσκηση 2 Γενικά Θέμα: η υλοποίηση ενός προγράμματος συλλογής και ανάλυσης ιστοσελίδων HTML (Hypertext Markup Language) απότοπαγκόσμιο Πλέγμα Πληροφοριών Στόχος: η εξοικείωση με προχωρημένες τεχνικές προγραμματισμού στο κέλυφος Bash, και η εκτίμηση της ευκολίας με την οποία μπορεί κανείς να δημιουργήσει ένα σύνθετο προγράμματα, μέσω system utilities. εντολή exec, πίνακες, διαχείριση σημάτων (signals), συνθήκες ελέγχου, δομές επανάληψης, regular expressions, stream editors (sed, awk) και χρήση συναρτήσεων με τα προαναφερθέντα. Σκοπός: ησυγγραφήενόςεξειδικευμένουcrawler, ο οποίοςθα διανύει ένα υποσύνολο των ιστοσελίδων του Τμήματος Πληροφορικής, τις αποθηκεύει στο /tmp, και στην συνέχεια θα δημιουργεί ένα μεγάλο λεξικό με την συχνότητα εμφάνισης λέξεων στοανακτημένοσύνολοιστοσελίδων. Αυτή η διαδικασία θα πρέπει να επαναλαμβάνετε αυτόματα δυο φορές την μέρα. 3-2

Εργαστηριακή Άσκηση 2 Ανάκτηση Ιστοσελίδας Βήματα ανάκτησης της ιστοσελίδας του τμήματος πληροφορικής στο κέλυφος bash 1. Άνοιγμα ενός καναλιού επικοινωνίας (tcp socket) με τον διαθέτη www.cs.ucy.ac.cy, στην θύρα 80, για ανάγνωση/γραφή. exec 5<>/dev/tcp/www.cs.ucy.ac.cy/80 2. Αποστολή αίτησης για ανάκτηση της σελίδας /index.html echo -e "GET /index.html HTTP/1.0\n" >&5 3. Εκτύπωση του αποτελέσματος στην οθόνη cat <&5 4. Κλείσιμο της κατεύθυνσης εξόδου του καναλιού exec 5>&- 5. Κλείσιμο της κατεύθυνσης εισόδου του καναλιού exec 5<&- Βάση της επικεφαλίδας του html αρχείου μπορούμε να δούμε κατά πόσο η σελίδα έχει κατέβει εντάξει ή υπάρχει κάποιο πρόβλημα 3-3

Εργαστηριακή Άσκηση 2 Αράχνη (Crawler) Κατά βάθος διερεύνηση (breadth-first-traversal) του γράφου που εκφράζει τον δικτυακό χώρο του http://www.cs.ucy.ac.cy/. Οι εξωτερικοί σύνδεσμοι πρέπει να αγνοούνται To βάθος διερεύνησης (depth) θα δίνεται από τον χρήστη είτε ως command line parameter είτε ως αρχείο εισόδου Ανάκτηση μόνο.htm,.html και text αρχείων Οι ιστοσελίδες πρέπει να αποθηκεύονται στο /tmp/$userid/data με την χρήση δομημένου καταλόγου, ο οποίος είναι πανομοιότυπος με τον κατάλογο του διαθέτη WWW /tmp/$userid/data/www.cs.ucy.ac.cy/index.html /tmp/$userid/data/www.cs.ucy.ac.cy/education/index.html /tmp/$userid/data/www.cs.ucy.ac.cy/people/graduate.html Δημιουργία του αρχείου brokenurl.txt περιέχει όλα τα URLs τα οποία δεν είναι προσβάσιμα. http://www.cs.ucy.ac.cy/indexxxxx.html http://www.cs.ucy.ac.cy/indexxυυxx.html 3-4

Εργαστηριακή Άσκηση 2 Επεξεργαστής Λεξιλογίου η δημιουργία ενός φίλτρου το οποίο επεξεργάζεται κάθε ανακτημένη ιστοσελίδα και εξάγει όλες τις λέξεις. Στις λέξεις αυτές, δεν περιλαμβάνονται τα HTTP headers, τα HTML tags, και οι ειδικοί χαρακτήρες HTML HTML TAG: Οτιδήποτε περικλείεται μεταξύ των συμβολών < >. π.χ. <html> <a href=ssss>, <td bgcolor= red width= 100% > HTML Ειδικοί Χαρακτήρες: Οτιδήποτε περικλείεται μεταξύ & και ; π.χ. & &nsbp; Á HTTP headers: Οτιδήποτε περικλείεται μεταξύ των συμβολών HTML TAGS <head> και </head> Το σύστημα δημιουργεί πάντοτε το λεξικό, ανεξάρτητα εάν διακοπεί η λειτουργία του προγράμματος από κλείσιμο του κελύφους. To σύστημα επαναλαμβάνει την δημιουργία του λεξικού 2 φορές την μέρα και αποθηκεύετε με κατάληξη την ημερομηνία και ώρα ανάκτησης. Το λεξικό είναι case-insensitive. 3-5

Εργαστηριακή Άσκηση 2 Γενικές Οδηγίες Το σύστημα δεν αφήνει ποτέ άχρηστα και μεταβατικά αρχεία στον δίσκο, ανεξάρτητα εάν διακοπεί η λειτουργία του προγράμματος από κλείσιμο του κελύφους; Το σύστημα πρέπει να χρησιμοποιεί τεχνικές δομημένου προγραμματισμού με την χρήση συναρτήσεων Το σύστημα πρέπει να ελαχιστοποιεί την χρήση πόρων του συστήματος (αρχεία, μνήμης, κτλ); Το σύστημα πρέπει να μειώνει όσο το δυνατό περισσότερο τον χρόνο διεκπεραίωσης της ανάκτησης και επεξεργασίας των δεδομένων. Σημειώστε ότι η πιο πάνω περιγραφή θα σας επιτρέψει να δημιουργήσετε ένα σχετικά απλό crawler η οποία και αποτελεί την ελάχιστη προδιαγραφή του συστήματος που πρέπει να παραδώσετε. 3-6

Χρήση μεταβλητών στην awk Παραδείγματα Οι μεταβλητές αυτές μπορούν να πάρουν αριθμητική (ακέραια ή πραγματική) τιμή ή συμβολοσειρά ΔΕ ΔΗΛΩΝΟΝΤΑΙ Εξ ορισμού, οι μεταβλητές που ορίζουμε αρχικοποιούνται με την αριθμητική τιμή 0 ( null string) Παραδείγματα BEGIN { sum = 0 } { sum ++ } END { print sum } Μετρά τον αριθμό των γραμμών της εισόδου Χρήση μεταβλητής NR awk 'END{print NR}' 3-7

Χρήση μεταβλητών στην awk Παραδείγματα Έστω ότι έχουμε ένα αρχείο με 3 στήλες Ταυτότητα Μισθός ανά ώρα Ώρες Εργασίας Τυπώνει τον αριθμό των υπαλλήλων που δούλεψαν περισσότερες από 15 ώρες $3 > 15 { emp = emp + 1} END { print emp, employees worked more than 15 hrs } { pay = pay + $2 * $3 } END { print NR, employees print total pay is, pay print average pay is, pay/nr } Τυπώνει τον αριθμό των υπαλλήλων, το συνολικό κόστος πληρωμής καιτομέσομισθό 3-8

Χρήση μεταβλητών στην awk Παραδείγματα Αρίθμησης και Υπολογισμού Τυπώστε το συνολικό μέγεθος των αρχείων σε Mb που βρίσκονται στον τρέχον φάκελο και έχουν αλλαχτεί κατά το μήνα Νοέμβριο. ls -lg awk '$5 == "Nov" { sum += $6 } END { print sum Mb } Τυπώστεόλεςτιςγραμμέςγιατιςοποίεςτοπρώτοπεδίοείναι διαφορετικό από την προηγούμενη awk '$1!= prev { print; prev = $1 }' file Τυπώστεκαιταξινομίστεμεαντίστροφηαλφαβητικήσειράόλατα login names (πρώτη στήλη) που βρίσκονται στο αρχείο /etc/passwd awk -F ":" '{ print $1 }' /etc/passwd sort -r awk -F ":" '{ print $1 "sort -r" }' /etc/passwd 3-9

Χρήση μεταβλητών στην awk Παραδείγματα Χρήσης Βρόγχων Γράψετε ένα awk script το οποίο παίρνει ένα αρχείο με τρείς στήλες, προσθέτει τις στήλες κάθε γραμμής και υπολογίζει το άθροισμά τους. Το αποτέλεσμα πρέπει να φαίνεται ως μαθηματικές πράξεις BEGIN {print "Print Totals"} {total = $1 + $2 + $3} {print $1 " + " $2 " + " $3 " = "total} END {print "End Totals"} Τυπώστε κάθε πεδίο κάθε γραμμής του αρχείου filename σε ξεχωριστή γραμμή awk '{for(i=1;i<=nf;i++) print $i }' filename Αντίστρεψε τις γραμμές του αρχείου filename awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' filename 3-10