Skip to content

Click on each book below to review & buy on Amazon.

As an Amazon Associate, I earn from qualifying purchases.


CompTIA Linux+ XK0-005 - 3.1 - Common Script Utilities: awk

The awk command is a powerful text-processing tool commonly used in shell scripting. It allows you to manipulate and analyze text files by specifying patterns and actions to be performed on each input line. With its concise syntax and built-in functionality, awk provides a flexible way to extract and transform data in various scripting scenarios.

Basic Syntax

The basic syntax of the awk command is as follows:

awk 'pattern { action }' filename
  • pattern: Specifies the condition or pattern to match in each input line.
  • action: Defines the action or set of commands to be executed when the pattern is matched.
  • filename: The name of the input file to be processed. If not specified, awk reads from standard input.

Key Features and Functionality

The awk command offers several features that make it a versatile tool for text processing:

  • Pattern Matching: awk allows you to define patterns using regular expressions or specific field conditions. You can match patterns at the beginning or end of a line, within specific columns, or based on specific values.

  • Field Separation and Processing: By default, awk treats each line as a sequence of fields separated by whitespace. You can customize the field separator using the -F option. awk provides easy access to individual fields within each line, allowing you to perform calculations, comparisons, and transformations on specific columns.

  • Built-in Functions: awk comes with a variety of built-in functions for common operations such as string manipulation, mathematical calculations, and date formatting. These functions can be used in your actions to perform complex data transformations.

  • Output Formatting: With awk, you have control over the output format. You can specify the field separator (OFS), record separator (ORS), and control how the output is printed using the printf function.

Example Usage

Let's look at a few examples to illustrate the usage of the awk command:

Extracting Specific Fields

Suppose we have a file named employees.txt with the following content:

John Doe, Engineer, 5000
Jane Smith, Manager, 7000
Mark Johnson, Analyst, 4500

If we want to extract the names and salaries of employees, we can use the following awk command:

awk -F, '{ print $1, $3 }' employees.txt

The output will be:

John Doe 5000
Jane Smith 7000
Mark Johnson 4500

Conditional Filtering

Suppose we have a file named scores.txt with the following content:

Math 90
English 85
Science 92

If we want to find subjects with scores greater than 90, we can use the following awk command:

awk '$2 > 90 { print $1 }' scores.txt

The output will be:

Science

Conclusion

The awk command is a versatile text-processing tool that provides powerful pattern matching and data manipulation capabilities. With its flexible syntax, you can extract specific information from text files, perform calculations, and transform data in various ways. Understanding the basics of awk and its features will greatly enhance your ability to process and analyze textual data in your shell scripts.


Support DTV Linux

Click on each book below to review & buy on Amazon. As an Amazon Associate, I earn from qualifying purchases.

NordVPN ®: Elevate your online privacy and security. Grab our Special Offer to safeguard your data on public Wi-Fi and secure your devices. I may earn a commission on purchases made through this link.