search
HomeSystem TutorialLINUXHow to Filter Command Output Using Awk and STDIN

In the earlier segments of the Awk command series, our focus was primarily on reading input from files. However, what if you need to read input from STDIN?

In Part 7 of the Awk series, we will explore several examples where you can use the output of other commands as input, rather than reading from a file.

List Files Owned by User in Directory

Let's begin with the dir command, which functions similarly to the ls command. In our initial example, we utilize the output of the dir -l command as input for awk to display the owner's username, group name, and the files they own in the current directory:

<code>dir -l | awk '{print $3, $4, $9;}'</code>

How to Filter Command Output Using Awk and STDIN

List Files Owned by Root User

Consider another example where we use awk expressions. Here, we aim to list files owned by the root user by filtering strings with the awk command below:

<code>dir -l | awk '$3=="root" {print $1,$3,$4, $9;} '</code>

How to Filter Command Output Using Awk and STDIN

The command above employs the (==) comparison operator to filter out files in the current directory owned by the root user, using the expression $3==”root”.

Use Awk Comparison Operator to Match String

Let's examine another example where we use an awk comparison operator to match a specific string.

We used the cat command to view the contents of a file named tecmint_deals.txt and wanted to see only deals of type Tech, so we executed the following commands:

<code>cat tecmint_deals.txt
cat tecmint_deals.txt | awk '$4 ~ /tech/{print}'
cat tecmint_deals.txt | awk '$4 ~ /Tech/{print}'</code>

How to Filter Command Output Using Awk and STDIN

In the above example, we used the ~ /pattern/ comparison operator. Note that there are two commands to highlight an important point.

When running the command with the pattern tech, nothing is displayed because there are no deals of that type, but with Tech, you see deals of type Tech.

Therefore, be cautious when using this comparison operator, as it is case-sensitive as demonstrated above.

You can always use the output of another command as input for awk instead of reading from a file, which is straightforward as shown in the examples above.

Filter Files Modified Today

To filter files modified today, you can use awk to extract and display these files:

<code>ls -l | awk '$6 == "Aug" && $7 == "9" {print $9}'</code>

This command filters files modified on August 9.

Count Files of a Specific Type

To count the number of .txt files in a directory, use:

<code>ls -l | awk '$9 ~ /\.txt$/ {count  } END {print count}'</code>

Extract Specific Fields from Command Output

If you want to extract specific fields from a ps command output, such as the process ID and command name:

<code>ps aux | awk '{print $1, $2, $11}'</code>

I hope these examples were clear and helpful for you. If you have any questions, feel free to leave them in the comment section below, and don't forget to check out the next part of the series, where we will delve into awk features like variables, numeric expressions, and assignment operators.

For those looking for a comprehensive resource, we've compiled all the Awk series articles into a book that includes 13 chapters and spans 41 pages, covering both basic and advanced Awk usage with practical examples.

Product Name Price Buy
eBook: Introducing the Awk Getting Started Guide for Beginners $8.99 \[Buy Now\]

The above is the detailed content of How to Filter Command Output Using Awk and STDIN. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How to Use 'next' Command with Awk in Linux - Part 6How to Use 'next' Command with Awk in Linux - Part 6May 15, 2025 am 10:43 AM

In this sixth installment of our Awk series, we will explore the next command, which is instrumental in enhancing the efficiency of your script executions by skipping redundant processing steps.What is the next Command?The next command in awk instruc

How to Efficiently Transfer Files in LinuxHow to Efficiently Transfer Files in LinuxMay 15, 2025 am 10:42 AM

Transferring files in Linux systems is a common task that every system administrator should master, especially when it comes to network transmission between local or remote systems. Linux provides two commonly used tools to accomplish this task: SCP (Secure Replication) and Rsync. Both provide a safe and convenient way to transfer files between local or remote machines. This article will explain in detail how to use SCP and Rsync commands to transfer files, including local and remote file transfers. Understand the scp (Secure Copy Protocol) in Linux scp command is a command line program used to securely copy files and directories between two hosts via SSH (Secure Shell), which means that when files are transferred over the Internet, the number of

10 Most Popular Linux Desktop Environments of All Time10 Most Popular Linux Desktop Environments of All TimeMay 15, 2025 am 10:35 AM

One fascinating feature of Linux, in contrast to Windows and Mac OS X, is its support for a variety of desktop environments. This allows desktop users to select the most suitable and fitting desktop environment based on their computing requirements.A

How to Install LibreOffice 24.8 in Linux DesktopHow to Install LibreOffice 24.8 in Linux DesktopMay 15, 2025 am 10:15 AM

LibreOffice stands out as a robust and open-source office suite, tailored for Linux, Windows, and Mac platforms. It boasts an array of advanced features for handling word documents, spreadsheets, presentations, drawings, calculations, and mathematica

How to Work with PDF Files Using ONLYOFFICE Docs in LinuxHow to Work with PDF Files Using ONLYOFFICE Docs in LinuxMay 15, 2025 am 09:58 AM

Linux users who manage PDF files have a wide array of programs at their disposal. Specifically, there are numerous specialized PDF tools designed for various functions.For instance, you might opt to install a PDF viewer for reading files or a PDF edi

How to Filter Command Output Using Awk and STDINHow to Filter Command Output Using Awk and STDINMay 15, 2025 am 09:53 AM

In the earlier segments of the Awk command series, our focus was primarily on reading input from files. However, what if you need to read input from STDIN?In Part 7 of the Awk series, we will explore several examples where you can use the output of o

Clifm - Lightning-Fast Terminal File Manager for LinuxClifm - Lightning-Fast Terminal File Manager for LinuxMay 15, 2025 am 09:45 AM

Clifm stands out as a distinctive and incredibly swift command-line file manager, designed on the foundation of a shell-like interface. This means that users can engage with their file system using commands they are already familiar with.The choice o

How to Upgrade from Linux Mint 21.3 to Linux Mint 22How to Upgrade from Linux Mint 21.3 to Linux Mint 22May 15, 2025 am 09:44 AM

If you prefer not to perform a new installation of Linux Mint 22 Wilma, you have the option to upgrade from a previous version.In this guide, we will detail the process to upgrade from Linux Mint 21.3 (the most recent minor release of the 21.x series

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft