AWK
Το AWK είναι εργαλείο ανάλυσης δεδομένων και παραγωγής αναφορών και χρησιμοποιεί μια γλώσσα σεναρίων που λειτουργεί με βάση τα δεδομένα εισόδου (data-driven), η οποία αποτελείται από ενέργειες που πρέπει να εκτελεστούν σε δεδομένα τύπου κειμένου (σε αρχεία ή ροές δεδομένων), με σκοπό την παραγωγή αναφορών με κάποια μορφοποίηση. Η γλώσσα που χρησιμοποιείται από το εργαλείο awk χρησιμοποιεί κυρίως τύπους δεδομένων συμβολοσειρών (strings), συσχετιστικών πινάκων (associative arrays, πίνακες των οποίων οι δείκτες είναι τύπου συμβολοσειράς) και κανονικές εκφράσεις (regular expressions).

Η γλώσσα AWK αποτέλεσε ένα από τα πρώτα εργαλεία που εμφανίστηκαν στην Έκδοση 7 του Unix (Version 7 Unix) και έγινε δημοφιλής σαν τρόπος να εισαχθούν υπολογιστικές λειτουργίες σε μια σωλήνωση του (pipeline) του Unix. Σχεδόν κάθε σύγχρονο λειτουργικό σύστημα τύπου Unix που είναι διαθέσιμο σήμερα περιλαμβάνει τη γλώσσα AWK. Η AWK αναφέρεται στο Single UNIX Specification σαν υποχρεωτικό εργαλείο ενός λειτουργικού συστήματος Unix και αποτελεί μαζί με το κέλυφος Bourne τις δύο μοναδικές γλώσσες σεναρίων που είναι κανονικά διαθέσιμες σε ένα περιβάλλον Unix. Ανήκει επίσης στις εντολές που απαιτούνται από την προδιαγραφή Linux Standard Base. Υπάρχουν επίσης διαθέσιμες υλοποιήσεις της AWK για πολλά άλλα λειτουργικά συστήματα.

Η AWK δημιουργήθηκε στα Bell Labs στα τέλη της δεκαετίας του 1970, και το όνομά της προέρχεται από τα επίθετα των δημιουργών της — Alfred Aho, Peter Weinberger και Brian Kernighan. Το awk με μικρά γράμματα αναφέρεται στο αντίστοιχο πρόγραμμα του Unix ή του Plan 9 που εκτελεί προγράμματα γραμμένα στη γλώσσα AWK.

Η ισχύς, η συντομία, αλλά και οι περιορισμοί των πρώτων προγραμμάτων σε AWK ενέπνευσαν το Larry Wall να γράψει την Perl, ενώ ταυτόχρονα αναπτυσσόταν μια νέα, ισχυρότερη POSIX AWK και η gawk (GNU AWK). Αν και η AWK και ο sed είχαν σχεδιαστεί να υποστηρίζουν προγράμματα της μιας γραμμής, ακόμα και οι πρώτοι χρήστες της AWK από τα Bell Labs συχνά έγραφαν καλά δομημένα προγράμματα μεγάλου μεγέθους σε AWK. Παρά τον περιορισμένο σκοπό για τον οποίο προορίζεται, η AWK είναι Τιούρινγκ-πλήρης (Turing-complete).
Q187432
γλώσσα σεναρίων
Concept
Q1145976
κειμένου
Concept
Q9143
γλώσσα
Concept
Q184754
συμβολοσειρών
Concept
Q185612
κανονικές εκφράσεις
Concept
Q9135
λειτουργικό σύστημα
Concept
Q11368
Unix
Concept
None
Single UNIX Specification
UNK
Q844595
κέλυφος Bourne
MEDIA
None
Linux Standard Base
UNK
None
Bell Labs
UNK
Q11368
Unix
Concept
None
Plan 9
UNK
None
Larry Wall
UNK
Q42478
Perl
Concept
Q14658
POSIX
Concept
Q44571
GNU
MISC
None
sed
UNK
None
Τιούρινγκ-πλήρης
UNK
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
Q213970
AWK
MEDIA
+7^^http://www.w3.org/2001/XMLSchema#decimal
7
NUMBER
+7^^http://www.w3.org/2001/XMLSchema#decimal
7
NUMBER
+9^^http://www.w3.org/2001/XMLSchema#decimal
9
NUMBER
instance of
influenced by
influenced by
influenced by
influenced by