Classic Shell Scripting
Download an excerpt:
Chapter 5: Pipelines Can Do Amazing Things
Excerpt provided courtesy of O'Reilly and Associates.
|
Be the First to Write a Review and tell the world about this title!People who purchase this book frequently purchase: - Learning the Korn Shell, 2nd Edition; Bill Rosenblatt, et al, $21.95, 37% Off!
- Shell Scripting Recipes: A Problem-Solution Approach; Chris F.A. Johnson, $24.50, 39% Off!
- Learning the bash Shell, 3rd Edition; Cameron Newham, $21.95, 37% Off!
- Core Java 2, Volume II: Advanced Features; Cay S. Horstmann, et al, $34.95, 36% Off!
Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
Shell scripting skills never go out of style. It's the shell that unlocks the
real potential of Unix. Shell scripting is essential for Unix users and system
administrators-a way to quickly harness and customize the full power of any Unix
system. With shell scripts, you can combine the fundamental Unix text and file
processing commands to crunch data and automate repetitive tasks. But beneath
this simple promise lies a treacherous ocean of variations in Unix commands and
standards. Classic Shell Scripting is written to help you reliably navigate these
tricky waters.
Writing shell scripts requires more than just a knowledge of the shell language,
it also requires familiarity with the individual Unix programs: why each one
is there, how to use them by themselves, and in combination with the other programs.
The authors are intimately familiar with the tips and tricks that can be used
to create excellent scripts, as well as the traps that can make your best effort
a bad shell script. With Classic Shell Scripting you'll avoid hours of wasted
effort. You'll learn not only write useful shell scripts, but how to do it properly
and portably.
The ability to program and customize the shell quickly, reliably, and portably
to get the best out of any individual system is an important skill for anyone
operating and maintaining Unix or Linux systems. Classic Shell Scripting gives
you everything you need to master these essential skills.
Table of Contents
Foreword
Preface
1. Background
1.1 Unix History
1.2 Software Tools Principles
1.3 Summary
2. Getting Started
2.1 Scripting Languages Versus Compiled Languages
2.2 Why Use a Shell Script?
2.3 A Simple Script
2.4 Self-Contained Scripts: The #! First Line
2.5 Basic Shell Constructs
2.6 Accessing Shell Script Arguments
2.7 Simple Execution Tracing
2.8 Internationalization and Localization
2.9 Summary
3. Searching and Substitutions
3.1 Searching for Text
3.2 Regular Expressions
3.3 Working with Fields
3.4 Summary
4. Text Processing Tools
4.1 Sorting Text
4.2 Removing Duplicates
4.3 Reformatting Paragraphs
4.4 Counting Lines, Words, and Characters
4.5 Printing
4.6 Extracting the First and Last Lines
4.7 Summary
5. Pipelines Can Do Amazing Things
5.1 Extracting Data from Structured Text Files
5.2 Structured Data for the Web
5.3 Cheating at Word Puzzles
5.4 Word Lists
5.5 Tag Lists
5.6 Summary
6. Variables, Making Decisions, and Repeating Actions
6.1 Variables and Arithmetic
6.2 Exit Statuses
6.3 The case Statement
6.4 Looping
6.5 Functions
6.6 Summary
7. Input and Output, Files, and Command Evaluation
7.1 Standard Input, Output, and Error
7.2 Reading Lines with read
7.3 More About Redirections
7.4 The Full Story on printf
7.5 Tilde Expansion and Wildcards
7.6 Command Substitution
7.7 Quoting
7.8 Evaluation Order and eval
7.9 Built-in Commands
7.10 Summary
8. Production Scripts
8.1 Path Searching
8.2 Automating Software Builds
8.3 Summary
9. Enough awk to Be Dangerous
9.1 The awk Command Line
9.2 The awk Programming Model
9.3 Program Elements
9.4 Records and Fields
9.5 Patterns and Actions
9.6 One-Line Programs in awk
9.7 Statements
9.8 User-Defined Functions
9.9 String Functions
9.10 Numeric Functions
9.11 Summary
10. Working with Files
10.1 Listing Files
10.2 Updating Modification Times with touch
10.3 Creating and Using Temporary Files
10.4 Finding Files
10.5 Running Commands: xargs
10.6 Filesystem Space Information
10.7 Comparing Files
10.8 Summary
11. Extended Example: Merging User Databases
11.1 The Problem
11.2 The Password Files
11.3 Merging Password Files
11.4 Changing File Ownership
11.5 Other Real-World Issues
11.6 Summary
12. Spellchecking
12.1 The spell Program
12.2 The Original Unix Spellchecking Prototype
12.3 Improving ispell and aspell
12.4 A Spellchecker in awk
12.5 Summary
13. Processes
13.1 Process Creation
13.2 Process Listing
13.3 Process Control and Deletion
13.4 Process System-Call Tracing
13.5 Process Accounting
13.6 Delayed Scheduling of Processes
13.7 The /proc Filesystem
13.8 Summary
14. Shell Portability Issues and Extensions
14.1 Gotchas
14.2 The bash shopt Command
14.3 Common Extensions
14.4 Download Information
14.5 Other Extended Bourne-Style Shells
14.6 Shell Versions
14.7 Shell Initialization and Termination
14.8 Summary
15. Secure Shell Scripts: Getting Started
15.1 Tips for Secure Shell Scripts
15.2 Restricted Shell
15.3 Trojan Horses
15.4 Setuid Shell Scripts: A Bad Idea
15.5 ksh93 and Privileged Mode
15.6 Summary
A. Writing Manual Pages
B. Files and Filesystems
C. Important Unix Commands
Bibliography
Glossary
Index
About the Authors
Arnold Robbins, an Atlanta native, is a professional programmer
and technical author. He has worked with Unix systems since 1980, when he was
introduced 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.
He is also coauthor of the sixth edition of O'Reilly's Learning the vi Editor.
Since late 1997, he and his family have been living happily in Israel.
Nelson Beebe is a long time Unix user and system administrator,
and has helped for years on Usenet newsgroups.
|