Chapter 5. Pipelines Can Do Amazing Things
In this chapter, we solve several relatively simple text processing jobs. What’s interesting about all the examples here is that they are scripts built from simple pipelines: chains of one command hooked into another. Yet each one accomplishes a significant task.
When you tackle a text processing problem in Unix, it is important to keep the Unix tool philosophy in mind: ask yourself how the problem can be broken down into simpler jobs, for each of which there is already an existing tool, or for which you can readily supply one with a few lines of a shell program or with a scripting language.
Extracting Data from Structured Text Files
Most administrative files in Unix are simple flat text
files that you can edit, print, and read without any special
file-specific tools. Many of them reside in the standard directory,
/etc. Common examples are the
password and group files (
group), the filesystem mount table
vfstab), the hosts file (
hosts), the default shell startup file
profile), and the system startup and
shutdown shell scripts, stored in the subdirectory trees
rc1.d, and so on, through
rc6.d. (There may be other directories as
File formats are traditionally documented in Section 5 of the Unix
manual, so the command
man 5 passwd
provides information about the structure of
Despite its name, the password file must always be publicly readable. Perhaps it should have been called the user file because ...