Effective awk Programming,3rd Edition, focuses
entirely on awk, exploring it in the greatest depth
of the three awk titles we carry. It's an excellent
companion piece to the more broadly focused second
edition.
This book provides complete coverage of the gawk
3.1 language as well as the most up-to-date coverage of the
POSIX standard for awk available anywhere. Author
Arnold Robbins clearly distinguishes standard awk
features from GNU awk (gawk)-specific
features, shines light into many of the "dark corners" of
the language (areas to watch out for when programming), and
devotes two full chapters to example programs. A brand new
chapter is devoted to TCP/IP networking with gawk. He
includes a summary of how the awk language
evolved.
The book also covers:
- Internationalization of gawk
- Interfacing to i18n at the awk level
- Two-way pipes
- TCP/IP networking via the two-way pipe interface
- The new PROCINFO array, which provides information
about running gawk
- Profiling and pretty-printing awk programs
- Dynamically adding built-in functions at run time
In addition to covering the awk language, this
book serves as the official "User's Guide" for the GNU
implementation of awk (gawk), describing in
an integrated fashion the extensions available to the
System V Release 4 version of awk that are also
available in gawk.
As the official gawk User's Guide, this book will
also be available electronically, and can be freely copied
and distributed under the terms of the Free Software
Foundation's Free Documentation License (FDL). A portion of
the proceeds from sales of this book will go to the Free
Software Foundation to support further development of free
and open source software.
Table of Contents
Foreword
Preface
PART 1: The awk Language and
gawk
Chapter 1. Getting Started with awk
How to Run awk Programs
Datafiles for the Examples
Some Simple Examples
An Example with Two Rules
A More Complex Example
awk Statements Versus Lines
Other Features of awk
When to Use awk
Chapter 2. Regular Expressions
How to Use Regular Expressions
Escape Sequences
Regular Expression Operators
Using Character Lists
gawk-Specific Regexp Operators
Case Sensitivity in Matching
How Much Text Matches?
Using Dynamic Regexps
Chapter 3. Reading Input Files
How Input Is Split into Records
Examining Fields
Non-constant Field Numbers
Changing the Contents of a Field
Specifying How Fields Are Separated
Reading Fixed-Width Data
Multiple-Line Records
Explicit Input with getline
Chapter 4. Printing Output
The print Statement
Examples of print Statements
Output Separators
Controlling Numeric Output with
print
Using printf Statements for Fancier
Printing
Redirecting Output of print and
printf
Special Filenames in gawk
Closing Input and Output Redirections
Chapter 5. Expressions
Constant Expressions
Using Regular Expression Constants
Variables
Conversion of Strings and Numbers
Arithmetic Operators
String Concatenation
Assignment Expressions
Increment and Decrement Operators
True and False in awk
Variable Typing and Comparison
Expressions
Boolean Expressions
Conditional Expressions
Function Calls
Operator Precedence (How Operators\
Nest)
Chapter 6. Patterns, Actions, and Variables
Pattern Elements
Using Shell Variables in Programs
Actions
Control Statements in Actions
Built-in Variables
Chapter 7. Arrays in awk
Introduction to Arrays
Referring to an Array Element
Assigning Array Elements
Basic Array Example
Scanning All Elements of an Array
The delete Statement
Using Numbers to Subscript Arrays
Using Uninitialized Variables as
Subscripts
Multidimensional Arrays
Scanning Multidimensional Arrays
Sorting Array Values and Indices with
gawk
Chapter 8. Functions
Built-in Functions
User-Defined Functions
Chapter 9. Internationalization with gawk
Internationalization and
Localization
GNU gettext
Internationalizing awk Programs
Translating awk Programs
A Simple Internationalization
Example
gawk Can Speak Your Language
Chapter 10. Advanced Features of gawk
Allowing Nondecimal Input Data
Two-Way Communications with\ Another\
Process
Using gawk for Network Programming
Using gawk with BSD Portals
Profiling Your awk Programs
Chapter 11. Running awk and gawk
Invoking awk
Command-Line Options
Other Command-Line Arguments
The AWKPATH Environment Variable
Obsolete Options and/or Features
Known Bugs in gawk
PART 2: Using awk and gawk
Chapter 12. A Library of awk Functions
Naming Library Function Global\
Variables
General Programming
Datafile Management
Processing Command-Line Options
Reading the User Database
Reading the Group Database
Chapter 13. Practical awk Programs
Running the Example Programs
Reinventing Wheels for Fun and
Profit
A Grab Bag of awk Programs
Chapter 14. Internetworking with gawk
Networking with gawk
Some Applications and Techniques
Related Links
PART 3: Appendixes
Appendix A. The Evolution of
the awk Language
Appendix B. Installing
gawk
Appendix C. Implementation
Notes
Appendix D. Basic Programming
Concepts
Appendix E. GNU General Public
License
Appendix F. GNU Free
Documentation License
Glossary
Index