Table of Contents
List Files Owned by User in Directory
List Files Owned by Root User
Use Awk Comparison Operator to Match String
Filter Files Modified Today
Count Files of a Specific Type
Extract Specific Fields from Command Output
Home System Tutorial LINUX How to Filter Command Output Using Awk and STDIN

How to Filter Command Output Using Awk and STDIN

May 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 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>
Copy after login

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>
Copy after login

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>
Copy after login

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>
Copy after login

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>
Copy after login

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>
Copy after login

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 of this Website
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

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

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1676
14
PHP Tutorial
1278
29
C# Tutorial
1257
24
What is the salary of Linux administrator? What is the salary of Linux administrator? Apr 17, 2025 am 12:24 AM

The average annual salary of Linux administrators is $75,000 to $95,000 in the United States and €40,000 to €60,000 in Europe. To increase salary, you can: 1. Continuously learn new technologies, such as cloud computing and container technology; 2. Accumulate project experience and establish Portfolio; 3. Establish a professional network and expand your network.

What are the main tasks of a Linux system administrator? What are the main tasks of a Linux system administrator? Apr 19, 2025 am 12:23 AM

The main tasks of Linux system administrators include system monitoring and performance tuning, user management, software package management, security management and backup, troubleshooting and resolution, performance optimization and best practices. 1. Use top, htop and other tools to monitor system performance and tune it. 2. Manage user accounts and permissions through useradd commands and other commands. 3. Use apt and yum to manage software packages to ensure system updates and security. 4. Configure a firewall, monitor logs, and perform data backup to ensure system security. 5. Troubleshoot and resolve through log analysis and tool use. 6. Optimize kernel parameters and application configuration, and follow best practices to improve system performance and stability.

What is the main purpose of Linux? What is the main purpose of Linux? Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

What are the differences in virtualization support between Linux and Windows? What are the differences in virtualization support between Linux and Windows? Apr 22, 2025 pm 06:09 PM

The main differences between Linux and Windows in virtualization support are: 1) Linux provides KVM and Xen, with outstanding performance and flexibility, suitable for high customization environments; 2) Windows supports virtualization through Hyper-V, with a friendly interface, and is closely integrated with the Microsoft ecosystem, suitable for enterprises that rely on Microsoft software.

Is it hard to learn Linux? Is it hard to learn Linux? Apr 18, 2025 am 12:23 AM

Learning Linux is not difficult. 1.Linux is an open source operating system based on Unix and is widely used in servers, embedded systems and personal computers. 2. Understanding file system and permission management is the key. The file system is hierarchical, and permissions include reading, writing and execution. 3. Package management systems such as apt and dnf make software management convenient. 4. Process management is implemented through ps and top commands. 5. Start learning from basic commands such as mkdir, cd, touch and nano, and then try advanced usage such as shell scripts and text processing. 6. Common errors such as permission problems can be solved through sudo and chmod. 7. Performance optimization suggestions include using htop to monitor resources, cleaning unnecessary files, and using sy

The Future of Linux Software: Will Flatpak and Snap Replace Native Desktop Apps? The Future of Linux Software: Will Flatpak and Snap Replace Native Desktop Apps? Apr 25, 2025 am 09:10 AM

For years, Linux software distribution relied on native formats like DEB and RPM, deeply ingrained in each distribution's ecosystem. However, Flatpak and Snap have emerged, promising a universal approach to application packaging. This article exami

Top 7 Tools to Compare Files in Linux (with Examples) Top 7 Tools to Compare Files in Linux (with Examples) Apr 28, 2025 am 09:21 AM

This guide explores various methods for comparing text files in Linux, a crucial task for system administrators and developers. We'll cover command-line tools and visual diff tools, highlighting their strengths and appropriate use cases. Let's assum

What are the differences in user account management between Linux and Windows? What are the differences in user account management between Linux and Windows? May 02, 2025 am 12:02 AM

The main difference between Linux and Windows in user account management is the permission model and management tools. Linux uses Unix-based permissions models and command-line tools (such as useradd, usermod, userdel), while Windows uses its own security model and graphical user interface (GUI) management tools.

See all articles