Linux|从 STDIN 读取 Awk 输入

news2024/11/24 9:21:39

简介

在之前关于 Awk 工具的系列文章中,主要探讨了如何从文件中读取数据。但如果你希望从标准输入(STDIN)中读取数据,又该如何操作呢?

在本文中,将介绍几个示例,展示如何使用 Awk 来过滤其他命令的输出,而不仅仅是读取文件内容。

首先,将以 dir 工具为例,它的功能与 ls 命令类似。在第一个示例中,将 dir -l 命令的输出作为 Awk 的输入数据,以此来打印出当前目录下文件的所有者用户名、所属组名,以及该用户拥有的文件列表。

# dir -l | awk '{print $3, $4, $9;}'
alt

再来看一个例子,在这个例子中,将利用 awk 表达式来实现一个特定功能:筛选并打印出由 root 用户拥有的文件。具体的做法是通过一个过滤表达式来完成,如下所示的 awk 命令:

# dir -l | awk '$3=="root" {print $1,$3,$4, $9;} '
alt

上述命令包括(==)比较运算符,帮助过滤当前目录中由 root 用户拥有的文件。这是通过使用表达式 $3=="root" 实现的。

再看一个例子,其中使用 awk 比较运算符来匹配特定的字符串。

在这里,使用 cat 实用程序查看名为 tecmint_deals.txt 的文件的内容,并且只想查看类型为 Tech 的交易,因此将运行以下命令:

# cat tecmint_deals.txt
# cat tecmint_deals.txt | awk '$4 ~ /tech/{print}'
# cat tecmint_deals.txt | awk '$4 ~ /Tech/{print}'
alt

在上面的例子中,使用了值 ~ /pattern/ 比较运算符,但有两个命令可以尝试并提取出非常重要的内容。

当您使用模式 tech 运行命令时,因为没有那种类型的交易,所以什么都不会打印出来,但是使用 Tech 时,您会得到类型为 Tech 的交易。

因此,在使用这种比较运算符时一定要小心,正如上面所看到的,它是区分大小写的。

您可以随时使用另一个命令的输出作为 awk 的输入,而不是从文件中读取输入,这就像在上面的例子中所看到的那样,非常简单。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1579306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go语言实战:掌握html/template包的高效开发技巧

Go语言实战:掌握html/template包的高效开发技巧 引言Go标准库html包概览html包的基本用途html/template包的核心功能开始使用html/template应用场景 安全的HTML内容处理防范XSS攻击使用示例内容安全策略(CSP)小结 操作HTML元素创建和解析HTML…

java数据结构与算法刷题-----LeetCode628. 三个数的最大乘积

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 排序选择线性搜索最值 排序 解题思路:时间复杂度O( …

简介有向无环图DAG

Sui创纪录的每秒交易量部分归功于数学构造,即有向无环图(Directed Acyclic Graph,DAG),该构造通过以最高效的方式处理交易来加速网络交易,而不是按照先来先服务的线性进展。 区块链是设计用于确保数据完整…

APx500音频分析仪硬件简介

两通道模拟输出,两通道或以上的模拟输入接口 线性编码数字音频接口(AES/EBU,TOSLINK,SPDIF)Linear PCM 脉冲密度调制码流(需要APx-PDM选件支持) Bluetooth蓝牙音频码流(需APx-BT选件支持) 最…

基于Android的记单词App系统的设计与实现

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

js 求出对应年月的开始日期和结束日期

实现效果: 背景: element日期时间选择组件,通过时间选择年-月,求出对应年月的开始日期和结束日期。 核心代码: /*** 返回给定年份和月份的起始和结束日期。* 202403 -> 2024-03-01 2024-03-31* param {number} y…

11-新热文章-实时计算

热点文章-实时计算 1 今日内容 1.1 定时计算与实时计算 1.2 今日内容 kafkaStream 什么是流式计算 kafkaStream概述 kafkaStream入门案例 Springboot集成kafkaStream 实时计算 用户行为发送消息 kafkaStream聚合处理消息 更新文章行为数量 替换热点文章数据 2 实时…

Linux下解决Java输出文件,中文变问号和中文乱码问题

# 启用 zh_CN.UTF-8 字体 echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen # 生成并安装 locale 数据 locale-gen # 更新当前 shell 环境 source /etc/default/locale 相当于以下操作: # Debian sudo apt install locales sudo dpkg-reconfigur…

基于SSM+Jsp+Mysql的超市管理系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

【第二十四篇】使用Burpsuite实现反射、储存、DOM型XSS(靶场实战案例)

目录 反射性XSS储存型XSSDOM XSS反射性XSS 搜索1后,审查元素: 猜测<font>标签中没有进行XSS特殊字符转义,而在<font>标签内,可使用<script>标签: <script>alert(1)</script>储存型XSS 该模块对姓名、电子邮件、网站做过滤处理,但评论处…

Few-Shot目标检测数据集 | Few-Shot目标检测数据集_已经整理成MS-COCO数据格式_含60000+张图_可直接用于目标检测算法训练

项目应用场景 面向 Few-Shot 目标检测场景&#xff0c;项目提供 6000 张图&#xff0c;已经整理成 MS-COCO 数据格式&#xff0c;可用于 Few-Shot 目标检测的训练数据集&#xff0c;或作为 Few-Shot 目标检测数据集的补充。 数据集展示 数据集下载 > 具体参见项目 README.m…

【算法详解】二分查找

1. 二分查找算法介绍 「二分查找算法&#xff08;Binary Search Algorithm&#xff09;」&#xff1a;也叫做 「折半查找算法」、「对数查找算法」。是一种在有序数组中查找某一特定元素的搜索算法。 基本算法思想&#xff1a;先确定待查找元素所在的区间范围&#xff0c;在逐步…

SSM党员管理系统

一、系统介绍 党员管理系统: 可以方便管理人员对党员管理系统的管理&#xff0c;提高信息管理工作效率及查询效率&#xff0c;有利于更好的为用户提供服务。 主要的模块包括&#xff1a; 1、后台功能&#xff1a; 管理员角色&#xff1a;首页、个人中心&#xff0c;党员管理…

MySQL高级(索引结构B + Tree)

以一颗最大度数&#xff08;max - degree&#xff09;为 4 &#xff08;4阶&#xff09;的 b tree 为例&#xff1a; 绿色框框起来的部分&#xff0c;是索引部分&#xff0c;仅仅起到索引数据的作用&#xff0c;不存储数据。红色框框起来的部分&#xff0c;是数据存储部分&…

PostgreSQL入门到实战-第七弹

PostgreSQL入门到实战 PostgreSQL查询语句(四)官网地址PostgreSQL概述PostgreSQL中DISTINCT 语句介绍PostgreSQL中DISTINCT 语句实操更新计划 PostgreSQL查询语句(四) 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https:…

【运输层】TCP 的可靠传输是如何实现的?

目录 1、发送和接收窗口&#xff08;滑动窗口&#xff09; &#xff08;1&#xff09;滑动窗口的工作流程 &#xff08;2&#xff09;滑动窗口和缓存的关系 &#xff08;3&#xff09;滑动窗口的注意事项 2、如何选择超时重传时间 &#xff08;1&#xff09;加权平均往返…

React面试

React渲染流程(重点) jsx描述界面 jsx babel render function>vdom vdom fiber 在进行渲染 vdom 转换fiber reconcile 转换过程创建dom commit 到domvdom React Element 对象, 只记录了子节点, 没有记录兄弟节点, 因为渲染不可中断 fiber fiberNode 对象, 是一个链表 父节…

lua学习笔记13(一些特殊用法的学习和三目运算符的实现)

print("*****************************一些特殊用法的学习*******************************") print("*****************************多变量赋值*******************************") local a,b,c114514,8848,"凌少" print(a) print(b) print(c) -…

C#操作MySQL从入门到精通(7)——对查询数据进行简单过滤

前言 我们在查询数据库中数据的时候,有时候需要剔除一些我们不想要的数据,这时候就需要对数据进行过滤,比如学生信息中,我只需要年龄等于18的,类似这种操作,本文就是详细介绍如何对查询的数据进行初步的过滤。 1、等于操作符 本次查询student_age 等于20的数据,使用我…

导出加入域控的电脑清单

要导出加入域控的所有电脑清单&#xff0c;包括计算机名等基本信息&#xff0c;可以使用 PowerShell 中的 Get-ADComputer cmdlet。下面是一个基础示例脚本&#xff0c;用于从Active Directory (AD)中批量导出所有加入域的计算机名称及可能的其他相关信息&#xff0c;并将其保存…