Have one to sell? Sell yours here
UNIX AWK and SED Programmer's Interactive Workbook (UNIX Interactive Workbook)
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

UNIX AWK and SED Programmer's Interactive Workbook (UNIX Interactive Workbook) [Paperback]

Peter Patsis (Author)
3.0 out of 5 stars  See all reviews (5 customer reviews)


Available from these sellers.



Book Description

UNIX Interactive Workbook December 30, 1998
The quick, friendly, hands-on tutorial on UNIX programming with awk, sed and grep -- -- with exclusive access to an up-to-the-minute Web-based training site! Learn step-by-step how to solve practical problems with awk, sed and grep. Begin with a hands-on introduction to regular expressions and grep. Through interactive Labs, learn the fundamentals of sed, including addressing, commands, scripting and more. Walk step-by-step through the Awk language, writing simple programs, understanding data types, statements, expressions, patterns, actions, functions, arrays and I/O. Finally, put it all together with the Awk utility, learning techniques for printing, computation, and text processing. The accompanying Web site includes a Virtual Study Lounge where you can meet authors and other users; interactive testing modules that offer instant feedback; bonus projects and solutions; updates, new info, feedback areas and more.

Customers Who Bought This Item Also Bought


Editorial Reviews

Review

Read the full review for this book.

UNIX awk and sed Programmer's Interactive Workbook is a spoonfeeding book, aimed at providing you the basics of the subject under a discussion chopped into easy gulps. This is a laudable goal in view of the number of individuals who have contact with legacy UNIX applications. There still is an immense amount of awk, sed, and grep code embedded in institutional suites (banking and home title insurance, for instance), and there will be jobs to maintain this code for the foreseeable future, just as there are jobs maintaining the RPG code running on bigger iron. --Jack Woehr, Dr. Dobb's Electronic Review of Computer Books -- Dr. Dobb's Electronic Review of Computer Books

From the Inside Flap

Introduction

This book is about three UNIX utilities: grep, sed, and awk. These three utilities enable you to write various terse applications. These UNIX utilities have been around almost as long as the UNIX operating system and yet still are used to solve a variety of tasks even to this day. Grep, awk, and sed can be very useful for file processing; working at the command line, searching within files; working in combination with other UNIX utilities to perform common tasks at the command line; or writing short scripts to solve an application. These are just a few of the tasks for which these utilities can be used. The goal of this book is to introduce and reinforce your expertise in grep, awk, and sed so that you may solve applications that you currently need to implement. In addition, I hope that, by reading this book, when you do have an application to implement, you have enough understanding of the three utilities to consider using them both to solve your application, and to implement a solution. To achieve this goal, the elements of each utility are taught. Each utility's concepts and elements are presented, with detail about the particular syntax, behavior, rules, and nuances of each concept and element. Exercises and exercise discussions then highlight and reinforce the elements and concepts.

All three utilities share common properties. They all can work on standard input, standard output, or user-supplied input files. They may interact with the UNIX environment by utilizing pipes. And all work with regular expressions.How This Book Is Organized

Regular expressions are covered first in this book, because all three utilities require a knowledge of them. If you are not familiar with regular expressions, these chapters will introduce them and go over the various metacharacters that are used with them. Although this coverage is extensive, it is not intended to provide the reader with advanced knowledge on the subject. It is meant for beginners or intermediate users of regular expressions. Whenever covering grep, sed, and awk and using regular expressions, I assume that you have not encountered regular expressions before. If you already have encountered regular expressions, then you may skim over the material or skip it altogether.

The next section describes grep. Grep is a utility that is best suited for searching files; thus, I first describe grep with the use of regular expressions. Next, I cover using grep in conjunction with pipes and other UNIX programs. Finally, I discuss the various options with which you may invoke grep.

The next part of the book discusses sed. Sed addressing is covered, as well as the various sed commands that are available within sed. Sed commands provide more functionality than is available in grep and can be used for a variety of applications. Finally, we will discuss more advanced sed commands, such as the multiline pattern space.

Awk is covered last. Awk, as opposed to grep and sed, can be considered more closely tied to a general-purpose language rather than a utility or specialized language. The reason is that awk exhibits more constructs and features that general-purpose languages exhibit. These include:

The ability to control flow to any part of an awk program

The ability to store values in user-defined variables that reference general storage locations

The ability to perform arithmetic operations

The ability to write functions

The ability to perform output in a user-specified format

Sed and grep either restrict these features or do not include them. Generally, most books take the approach of teaching awk as a utility and teach solely by giving an example utility using an awk feature. The approach taken in this book is to teach awk as a language rather than a utility. Therefore, we will talk about awk data types, variables, built-in functions, arrays, control statements, input and output, and functions. Many pitfalls occur with teaching awk as a utility and providing examples that use awk to solve that particular utility. First, if all you ever need is to solve those particular utilities, then you are set. However, if you need to implement utilities that are different from those provided, you are left figuring out and understanding the language through the examples on your own. A better approach is to teach awk as a language and give examples that reinforce each particular feature of the language, the rules regarding their use, and the various methods for which they may be used. Various benefits exist to taking this approach.

You cannot anticipate most of the ways in which awk will be used. By learning awk as a language and mastering your understanding of its features, you will reach the goal of this book, quickly determining whether awk can be used to solve a problem and implementing a solution.

If you were to learn awk simply as a utility and not as a language, then if you get an error (especially if learning by example utilities), determining what caused the error is hard. If you understand the language, then by going over the erroneous program, you can more easily determine which statement caused the error, because you understand how each language construct is used to make up the statement. A lot of people complain about the awk error messaging system as being difficult to decipher. My belief is that the problem does not reside in awk's error-messaging system-its run-time error-messaging system is more verbose and informative than GNU C/C++-rather, it resides in not learning the awk language.

Languages are based on very similar principles. Understanding one language can greatly enhance your ability to understand other languages. The reason is that most languages share very similar elements and constructs inherent in the language, such as functions, scoping, coercion, call-by-value, and call-by-reference. (We go over each of these in this book.) If you have already learned a general-purpose language such as C, C++, or Java, then to learn awk will be easier. If you haven't learned a general-purpose language, then the approach taken in this book will help you learn new languages as well as understand this one. In awk, as with most languages, certain design issues go into the creation of the language. One important design issue is orthogonality-which simply means that more than one way of expressing an action must exist. The concept of orthogonality means that more than one language construct (i.e., a for loop and while loop can both be used to implement a program) can be used to solve a program. Orthogonality is beneficial to the programmer because it gives the programmer flexibility in finding more efficient, compact, and creative coding solutions to any given problem using the language. The impact of orthogonality does not mean that all things are considered equal. Although more than one construct can be used to solve a problem, one construct is better to use than another construct in certain programs. Truly mastering a language is the ability to understand when one construct is better to use than another because, as mentioned, it is more efficient (uses less storage or is faster than another construct) or more compact (requires fewer lines of code or is easier to read). This requires practice. My hope is that while reading this book and after, you will practice writing awk programs. Also think about more than one solution to a problem, write an awk program that implements all solutions, and then test which solution is better (more readable, shorter, quicker, and taking less storage space).

I cannot emphasize enough that the best way to learn computer languages and utilities is by practicing. Try out on your own sample queries. In addition, I have found that sometimes the best way to learn is by making your own mistakes. Try figuring out where you went wrong, and try entering a query that you suspect might not work. You might be surprised at the result.My Intended Audience

This book is not a book on languages. Although this introduction has mentioned language details and issues, whether you have encountered languages before or taken a course on programming languages is not important. Also, you do not need to have an advanced understanding of the UNIX operating system. This book is on grep, sed, and the awk programming language. The book is suitable for novice users of UNIX who have never encountered grep, sed, and awk. It is also suitable for intermediate or advanced users of UNIX who have used grep, sed, and awk but do not have advanced knowledge. All you need to go through this book is a general knowledge of the UNIX operating system. In particular, knowledge of how to execute programs from the command line is necessary.You'll find a student lounge where you can meet and greet other readers of the Interactive Workbooks and share tips and programs. I have an author's corner, where you can find supplemental material to the book and notes from me about it, errata, and so forth. The answers to the "Test Your Thinking" sections from each chapter of the book have their own module. And additional Self-Review Questions reinforce your understanding of the concepts explored in this book.

Visit the Web site periodically to share and discuss your answers.


Product Details

  • Paperback: 500 pages
  • Publisher: Prentice Hall PTR; Workbook edition (December 30, 1998)
  • Language: English
  • ISBN-10: 0130826758
  • ISBN-13: 978-0130826756
  • Product Dimensions: 9.2 x 7 x 1.8 inches
  • Shipping Weight: 2.9 pounds
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon Best Sellers Rank: #2,290,656 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

5 Reviews
5 star:
 (2)
4 star:    (0)
3 star:    (0)
2 star:
 (2)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
3.0 out of 5 stars (5 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

10 of 12 people found the following review helpful:
5.0 out of 5 stars The Best AWK and UNIX training manual!, June 12, 2000
By A Customer
This review is from: UNIX AWK and SED Programmer's Interactive Workbook (UNIX Interactive Workbook) (Paperback)
As a computer consultant, I sometimes need to train 'folks' that haven't had too much time in front of a computer. For those souls that have grown used to Windows, UNIX has the potential to strike fear in a way that I've seldom seen duplicated. This text offers the BEST environment for teaching UNIX and AWK that I have seen.

There are UNIX and AWK reference books galore, but none of them take a systematic approach to TEACHING the subject, (no, not even teach yourself, or the Dummies versions). This book reviews each command and ends with a generous question section. (Not just one or two questions at a high level, and not just one really complicated question - the questions build very nicely to the hardest issues.)

If you are looking for a reference book, this will do, though there are others that I would prefer, but if you are learning UNIX and AWK on your own, or looking to teach it to someone else, this book gets my highest recommendation. I have given it now to everyone I have trained and all have had great success with it. I would feel entirely comfortable handing this book to a trainee, and with no further instruction allowing them to code when they've finished. " An absolute gift"

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4 of 4 people found the following review helpful:
2.0 out of 5 stars Hard to Understand, December 19, 2000
By 
Siew G Ung (San Diego, CA USA) - See all my reviews
This review is from: UNIX AWK and SED Programmer's Interactive Workbook (UNIX Interactive Workbook) (Paperback)
The idea of a workbook format was good, but the concepts weren't explained well. I read sections over many times only to think, why didn't it just say that? It was a frustrating book to read. You could probably get the information faster and more painlessly from another book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful:
1.0 out of 5 stars Not a book for a learner, March 7, 2003
By 
"ilovja" (Los Angeles, CA USA) - See all my reviews
This review is from: UNIX AWK and SED Programmer's Interactive Workbook (UNIX Interactive Workbook) (Paperback)
It was really hard to understand as a beginner like other reviewers. It makes you keep wonder why you don't follow and don't get much explanation. Well, the first chapter was okay as the introduction of regular expressions, but you get lost by the time you try to understand the excersises in chapter 2. Have you ever had the feeling that you feel like you want to go back again and again but you still goes far and far from the point? It is frustrationg. However, this kind of book could be useful for the teachers, definitely not for learners.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews



Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(43)
(33)
(32)
(27)
(33)
(18)
(17)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject