Book Image

Mastering Linux Shell Scripting

By : Andrew Mallett
Book Image

Mastering Linux Shell Scripting

By: Andrew Mallett

Overview of this book

Shell scripting is a quick method to prototype a complex application or a problem by automating tasks when working on Linux-based systems. Using both simple one-line commands and command sequences complex problems can be solved with ease, from text processing to backing up sysadmin tools. In this book, you’ll discover everything you need to know to master shell scripting and make informed choices about the elements you employ. Get to grips with the fundamentals of creating and running a script in normal mode, and in debug mode. Learn about various conditional statements' code snippets, and realize the power of repetition and loops in your shell script. Implement functions and edit files using the Stream Editor, script in Perl, program in Python – as well as complete coverage of other scripting languages to ensure you can choose the best tool for your project.
Table of Contents (21 chapters)
Mastering Linux Shell Scripting
About the Author
About the Reviewer

Displaying and filtering content from files

Now of course we all want to be able to print a little more than just Hello World. The awk command can be used to filter content from files and if needed, very large files. We should begin by printing the complete file before filtering it. In this way, we will get a feel of the syntax of the command. Later, we will see how we can add this control information into awk files to ease the command line. Using the following command, we will print all the lines from the /etc/passwd file:

$ awk ' { print } ' /etc/passwd

This is equivalent to using the $0 variable with the print statement:

$ awk ' { print $0 }' /etc/passwd

The $0 variable refers to the complete line. If there is no argument supplied to the print command, we assume that the complete line is to be printed. If we want to print just the first field from the /etc/passwd file, we can use the $1 variable. However, we will need to specify that in this file the field separator used is a colon. The...