sed and awk

sed and awk

By (author)  , By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 3 business days
When will my order arrive?


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).show more

Product details

  • Paperback | 432 pages
  • 175.26 x 231.14 x 27.94mm | 703.06g
  • O'Reilly Media, Inc, USA
  • Sebastopol, United States
  • English
  • Revised
  • 2nd Revised edition
  • black & white illustrations
  • 1565922255
  • 9781565922259
  • 147,692

About Dale Dougherty

Dale Dougherty is president and CEO of Songline Studios, a leading web publishing company. He is editor and publisher of Web Review (, an innovative online magazine for web site developers. Prior to Songline, Dougherty developed the Global Network Navigator (GNN) and was the founding editor for O'Reilly's Nutshell Handbooks (R). Arnold Robbins, an Atlanta native, is a professional programmer and technical author. He has been working with UNIX systems since 1980, when he was intoduced to a PDP-11 running a version of Sixth Edition UNIX. He has been a heavy awk user since 1987, when he became involved with gawk, the GNU project's version of awk. As a member of the POSIX 1003.2 balloting group, he helped shape the POSIX standard for awk. He is currently the maintainer of gawk and its documentation. The documentation is available from the Free Software Foundation ( and has also been published by SSC ( as "Effective AWK Programming." He is also co-author of the sixth edition of O'Reilly's Learning the vi Editor. Since late 1997, he and his family have been living happily in more

Back cover copy

The book begins with an overview and a tutorial that demonstrate a progression in functionality from grep to sed to awk. sed and awk share a similar command-line syntax, accepting user instructions in the form of a script. Because all three programs use UNIX regular expressions, an entire chapter is devoted to understanding UNIX regular expression syntax. Next, the book describes how to write sed scripts. After getting started by writing a few simple scripts, you'll learn other basic commands that parallel manual editing actions, as well as advanced commands that introduce simple programming constructs. Among the advanced commands are those that manipulate the hold space, a set-aside temporary buffer. The second part of the book has been extensively revised to include POSIX awk as well as coverage of three freely available and three commercial versions of awk. The book introduces the primary features of the awk language and how to write simple scripts. You'll also learn: common programming constructs; how to use awk's built-in functions; how to write user-defined functions; debugging techniques for awk programs; how to develop an application that processes an index, demonstrating much of the power of awk; and FTP and contact information for obtaining various versions of awk. Also included is a miscellany of user-contributed scripts that demonstrate a wide range of sed and awk scripting styles and more

Table of contents

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 ArraysAn 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 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 Indexshow more