File: gawk.info, Node: When, Next: Intro Summary, Prev: Other Features, Up: Getting Started 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'. (*Note More 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 (*note Glossary::, 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.