1. awk is a string scanning and processing language. It copies files from stdin to stdout after processing them according to a program consisting of one or more pattern { action } pairs. awk is a filter. Format: (1) $ awk [-Fseparatorcharacter] 'pattern {action}...pattern {action}' file(s) (2) $ awk [-Fseparatorcharacter] -fpattern-action-file file(s) (3) $ awk [-Fseparatorcharacter] -fpattern-action-file [-v var=value...] file(s) You can also assign values to awk variables on the commandline using the form "-v var=value" (or var=value in some versions of awk). The separatorcharacter can be different from the default space or tab. pattern-action-file is an existing file containing awk commands. awk checks to see if input records in the specified file(s) satisfy the pattern. Only if there is a match, then the associated action is executed. When the pattern-action pairs become numerous, put them in a file of their own and refer to them via the -f option. 2. awk features: (1) scans for occurrences of regular expressions (2) used as a programming language with numerical and text variables and functions. (3) can break its input up into fields and records (lines). 3. How awk is used: (1) filtering in pipeline commands [more powerful than grep] (2) numerical processing on rows and columns of numbers (3) text processing, for automated editing tasks. 4. awk is a non-procedural language. Whatever patterns that match, the corresponding actions are executed; whatever patterns don't match are ignored. awk can be considered a generalization of the grep command. grep can match a pattern and either output the line that matches or suppress the line that matches; awk can match a pattern and output none, some, all of a line or something else entirely.Questions? Robert Katz: katz@cis.highline.edu