awk Unix Utility
An awk Unix Utility is a data transformation tool that is a Unix utility.
- Context:
- It can implement an awk Statement.
- …
- Counter-Example(s):
- See: Perl Interpreter, String Processing Utility, String-based Regular Expression.
References
2013
- http://en.wikipedia.org/wiki/AWK
- The AWK utility is an interpreted programming language typically used as a data extraction and reporting tool. It is a standard feature of most Unix-like operating systems.
AWK was created at Bell Labs in the 1970s,[1] and its name is derived from the family names of its authors – Alfred Aho, Peter Weinberger, and Brian Kernighan. The name is not commonly pronounced as a string of separate letters but rather as an acronym, to sound the same as the name of the bird, auk (which acts as an emblem of the language such as on The AWK Programming Language book cover - the book is often referred to by the abbreviation TAPL). When written in all lowercase letters, as awk, it refers to the Unix or Plan 9 program that runs scripts written in the AWK programming language.
As one of the early tools to appear in Version 7 Unix, it gained popularity as a way to add computational features to a Unix pipeline and besides the Bourne shell is the only scripting language available in a standard Unix environment. It is one of the mandatory utilities of the Single UNIX Specification;[2] required by the Linux Standard Base specification[3] — and implementations of AWK exist for almost all other operating systems.[citation needed]
AWK uses a data-driven scripting language consisting of a set of actions to be taken against textual data (either in files or data streams) for the purpose of producing formatted reports. The language extensively uses the string datatype, associative arrays (that is, arrays indexed by key strings), and regular expressions. Although AWK and sed were designed to support one-liner programs, even the early Bell Labs users of AWK often wrote well-structured large AWK programs, and despite its limited intended area of use, AWK is Turing-complete.[4]
The power, terseness, and limits of early AWK programs inspired Larry Wall to write Perl just as a new, more powerful POSIX AWK and gawk (GNU AWK) were being defined.
- The AWK utility is an interpreted programming language typically used as a data extraction and reporting tool. It is a standard feature of most Unix-like operating systems.
- ↑ Awk -- A Pattern Scanning and Processing Language (Second Edition) (1978)
- ↑ The Single UNIX Specification, Version 3, Utilities Interface Table
- ↑ Linux Standard Base Core Specification 4.0, Chapter 15. Commands and Utilities
- ↑ Raymond, Eric S.. "Applying Minilanguages". The Art of Unix Programming. Case Study: awk. Archived from the original on July 30, 2008. http://web.archive.org/web/20080730063308/http://www.faqs.org/docs/artu/ch08s02.html#awk. Retrieved May 11, 2010. "The awk action language is Turing-complete, and can read and write files."