|
SED & AWK 2nd Edition
sed & awk describes two text processing programs that are
mainstays of the UNIX programmer's toolbox.
sed is a "stream editor" for editing streams of text that
might be too large to edit as a single file, or that might
be generated on the fly as part of a larger data processing
step. The most common operation
done with sed is
substitution, replacing one block of text with another.
awk is a complete programming language. Unlike many
conventional languages, awk is "data driven" -- you specify
what kind of data you are interested in and the operations
to be performed when that data is found. awk does many
things for you, including automatically opening and closing
data files, reading records, breaking the records up into
fields, and counting the records. While awk provides the
features of most conventional programming languages, it also
includes some unconventional features, such as extended
regular expression matching and associative arrays. sed &
awk describes both programs in detail and includes a
chapter of example sed and awk scripts.
This edition covers features of sed and awk that are
mandated by the POSIX standard. This most notably affects
awk, where POSIX standardized a new variable, CONVFMT, and
new functions, toupper() and tolower(). The CONVFMT
variable specifies the conversion format to use when
converting numbers to strings (awk used to use OFMT for this
purpose). The toupper() and tolower() functions each take a
(presumably mixed case) string argument and return a new
version of the string with all letters translated to the
corresponding case.
In addition, this edition covers GNU sed, newly available
since the first edition. It also updates the first edition
coverage of Bell Labs nawk and GNU awk (gawk), covers mawk,
an additional freely available implementation of awk, and
briefly discusses three commercial versions of awk, MKS awk,
Thompson Automation awk (tawk), and Videosoft (VSAwk).
Preface
Chapter 1. Power Tools for Editing
May You Solve Interesting Problems
A Stream Editor
A Pattern-Matching Programming Language
Four Hurdles to Mastering sed and awk
Chapter 2. Understanding Basic Operations
Awk, by Sed and Grep, out of Ed
Command-Line Syntax
Using sed
Using awk
Using sed and awk Together
Chapter 3. Understanding Regular Expression Syntax
That's an Expression
A Line-Up of Characters
I Never Metacharacter I Didn't Like
Chapter 4. Writing sed Scripts
Applying Commands in a Script
A Global Perspective on Addressing
Testing and Saving Output
Four Types of sed Scripts
Getting to the PromiSed Land
Chapter 5. Basic sed Commands
About the Syntax of sed Commands
Comment
Substitution
Delete
Append, Insert, and Change
List
Transform
Print
Print Line Number
Next
Reading and Writing Files
Quit
Chapter 6. Advanced sed Commands
Multiline Pattern Space
A Case for Study
Hold That Line
Advanced Flow Control Commands
To Join a Phrase
Chapter 7. Writing Scripts for awk
Playing the Game
Hello, World
Awk's Programming Model
Pattern Matching
Records and Fields
Expressions
System Variables
Relational and Boolean Operators
Formatted Printing
Passing Parameters Into a Script
Information Retrieval
Chapter 8. Conditionals, Loops, and Arrays
Conditional Statements
Looping
Other Statements That Affect Flow Control
Arrays
An Acronym Processor
System Variables That Are Arrays
Chapter 9. Functions
Arithmetic Functions
String Functions
Writing Your Own Functions
Chapter 10. The Bottom Drawer
The getline Function
The close() Function
The system() Function
A Menu-Based Command Generator
Directing Output to Files and Pipes
Generating Columnar Reports
Debugging
Limitations
Invoking awk Using the #! Syntax
Chapter 11. A Flock of awks
Original awk
Freely Available awks
Commercial awks
Epilogue
Chapter 12. Full-Featured Applications
An Interactive Spelling Checker
Generating a Formatted Index
Spare Details of the masterindex Program
Chapter 13. A Miscellany of Scripts
uutot.awk--Report UUCP Statistics
phonebill--Track Phone Usage
combine--Extract Multipart uuencoded Binaries
mailavg--Check Size of Mailboxes
adj--Adjust Lines for Text Files
readsource--Format Program Source Files for troff
gent--Get a termcap Entry
plpr--lpr Preprocessor
transpose--Perform a Matrix Transposition
m1--Simple Macro Processor
Appendix A. Quick Reference for sed
Appendix B. Quick Reference for awk
Appendix C. Supplement for Chapter 12
Index
|