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 (passwd
and
group
), the filesystem mount table
(fstab
or vfstab
), the hosts file (hosts
), the default shell startup file
(profile
), and the system startup and
shutdown shell scripts, stored in the subdirectory trees rc0.d
, rc1.d
, and so on, through rc6.d
. (There may be other directories as
well.)
File formats are traditionally documented in Section 5 of the Unix
manual, so the command man 5 passwd
provides information about the structure of /etc/passwd
.[1]
Despite its name, the password file must always be publicly readable. Perhaps it should have been called the user file ...
Get Classic Shell Scripting now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.