Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2022-05-21 15:44:18
Size: 1283
Comment:
Revision 4 as of 2022-05-21 16:11:20
Size: 1410
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
There are several implementation of `awk(1)`, the most widely-used being GNU awk (or gawk). Brian Kernighan [[https://github.com/onetrueawk/awk|open-sourced]] the original Unix awk. [[BusyBox]] includes an implementation of POSIX awk. There are several revival/modernization projects, notably [[https://github.com/benhoyt/goawk|GoAWK]] which supports CSV as an input and output format. There are several implementation of the interpreter program '''`awk(1)`'''. The most widely-used is '''GNU awk''' (or '''gawk'''). Brian Kernighan [[https://github.com/onetrueawk/awk|open-sourced]] the original Unix awk. [[BusyBox]] includes an implementation of awk. There are several revival/modernization projects, notably [[https://github.com/benhoyt/goawk|GoAWK]] which supports CSV as an input and output format.
Line 40: Line 40:

----



== Syntax ==

 * [[Awk/Patterns|Patterns]]
 * [[Awk/Actions|Actions]]


Awk

The Awk programming language is a scripting language for operating on text files. It is self-described as being a "data driven" tool; "you describe the data you want to work with and then what to do when you find it".

There are several implementation of the interpreter program awk(1). The most widely-used is GNU awk (or gawk). Brian Kernighan open-sourced the original Unix awk. BusyBox includes an implementation of awk. There are several revival/modernization projects, notably GoAWK which supports CSV as an input and output format.

See the User Manual for more upstream information.


Example

A hello world program isn't helpful for awk, but here's an example anyway.

awk 'BEGIN { print "hello world" }'

A better example would involve parsing a hosts file.

awk '/^[^#]/ { print $2 }' /etc/hosts

The awk syntax can be written to a script file and executed like:

awk -f my-hosts-parser.awk /etc/hosts

Shebang

To make an awk script executable, use #! /bin/awk -f as the shebang line.


Syntax


CategoryRicottone

Awk (last edited 2023-06-22 20:03:20 by DominicRicottone)