gawk: When

 
 1.8 When to Use 'awk'
 =====================
 
 Now that you've seen some of what 'awk' can do, you might wonder how
 'awk' could be useful for you.  By using utility programs, advanced
 patterns, field separators, arithmetic statements, and other selection
 criteria, you can produce much more complex output.  The 'awk' language
 is very useful for producing reports from large amounts of raw data,
 such as summarizing information from the output of other utility
 programs like 'ls'.  (SeeMore Complex.)
 
    Programs written with 'awk' are usually much smaller than they would
 be in other languages.  This makes 'awk' programs easy to compose and
 use.  Often, 'awk' programs can be quickly composed at your keyboard,
 used once, and thrown away.  Because 'awk' programs are interpreted, you
 can avoid the (usually lengthy) compilation part of the typical
 edit-compile-test-debug cycle of software development.
 
    Complex programs have been written in 'awk', including a complete
 retargetable assembler for eight-bit microprocessors (SeeGlossary,
 for more information), and a microcode assembler for a special-purpose
 Prolog computer.  The original 'awk''s capabilities were strained by
 tasks of such complexity, but modern versions are more capable.
 
    If you find yourself writing 'awk' scripts of more than, say, a few
 hundred lines, you might consider using a different programming
 language.  The shell is good at string and pattern matching; in
 addition, it allows powerful use of the system utilities.  Python offers
 a nice balance between high-level ease of programming and access to
 system facilities.(1)
 
    ---------- Footnotes ----------
 
    (1) Other popular scripting languages include Ruby and Perl.