Shell AWK 命令详解


一、AWK 简介与基本语法

AWK 是一种强大的文本处理工具,名称来源于其三位创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 的姓氏首字母。它逐行扫描文件,寻找匹配特定模式的行并执行相应操作。

基本语法结构:

awk [选项] '模式 {动作}' 文件名

模式‌:匹配条件,可以是正则表达式或关系表达式
动作‌:匹配到模式时执行的操作,通常用大括号{}包围
文件名‌:要处理的文件,如省略则从标准输入读取


二、AWK 核心功能

1. 字段处理

AWK 默认以空白字符(空格或制表符)作为字段分隔符,通过 $1、$2 等访问各列,$0 表示整行内容。

示例:打印文件第1列和第3列

awk '{print $1, $3}' file.txt

2. 自定义分隔符

使用 -F 选项指定输入分隔符,OFS 设置输出分隔符。

示例:处理CSV文件

awk -F',' '{print $1, $3}' data.csv

3. 条件过滤

通过模式匹配和条件语句筛选数据。

示例:提取第二列大于30的行

awk '$2 > 30' data.txt

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试150跳跃游戏

思路 贪心算法,使用变量cover表示当前所能覆盖的最大距离,如果cover大于等于n-1表示能覆盖到,反之则不能 class Solution:def canJump(self, nums: List[int]) -> bool:if not nums:return Falsenlen(nums)cover0for i in range(n):if i…

磁悬浮轴承温度漂移克星:三招实现精准控制

在磁悬浮轴承(Active Magnetic Bearing, AMB)的高性能应用中,位置传感器的精度就是系统的生命线。然而,传感器输出随温度变化产生的漂移(温漂),如同一个潜伏的破坏者,悄然引入测量误…

vue2 使用el-form中el-form-item单独绑定rules不生效问题

我居然在同一个问题在了两次跟头!!!必须记录这个小细节!!! 背景:一个后台的表单校验,表单中需要单独绑定rules,跳转方式后面两个选项都使用的同一个el-form-item&#xf…

利用 AWS MCP 解决区域差异问题:构建统一混合云管理平台

痛点直击: 企业在全球化或混合云部署中,常因不同区域(如 AWS 国际区 vs 中国区)或本地 IDC 与云环境之间的服务差异、配置标准不一、合规要求不同,导致管理复杂、运维低效、部署不一致。AWS Migration and Configurati…

C#.Net筑基-优雅LINQ的查询艺术

Linq(Language Integrated Query,集成查询语言),顾名思义就是用来查询数据的一种语言(可以看作是一组功能、框架特性的集合)。在.NETFramework3.5(大概2007年)引入C#,用统…

HTML炫酷烟花

系列文章 序号目录1HTML满屏跳动的爱心(可写字)2HTML五彩缤纷的爱心3HTML满屏漂浮爱心4HTML情人节快乐5HTML蓝色爱心射线6HTML跳动的爱心(简易版)7HTML粒子爱心8HTML蓝色动态爱心9HTML跳动的爱心(双心版)10…

【看到哪里写到哪里】算闰年的(year 3) == 0

【??BUG??】在MYSQL源码里面有一段,算每年的天数。其中用到了两个很有意思的 1)(year & 3) 0 2)(year % 400 0 && year),为什么要 &&year呢? &g…

Redis的渐进式hash和缓存时间戳深入学习

前言 关于redis,可由应用维度、系统维度来进行了解。 如下所示: redis在缓存应用发挥着重要作用,不知道你有没思考过Redis为什么这么快? 1、纯内存访问 为什么内存访问比磁盘访问更快,可参考: 操作系统的…

视频续播功能实现 - 断点续看从前端到 Spring Boot 后端

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…

【工具】Linux 中 find 命令使用教程

find 命令是 Linux 系统中最强大、最灵活的文件搜索工具,其能力远超简单的文件名匹配。掌握 find 能让你在复杂的文件系统中精准定位目标,实现高效的文件管理。 一、命令结构与核心概念 find [起始路径] [选项] [表达式]起始路径:搜索的根目…

0629-

0629 0629操作3. 权限 0629 操作 进入数据库 mysql -uroot -proot123 .use idatabase; select * from customer; 2.select distinct name,idnum from customer; 3.UPDATE customer SET idnum left(MD5(idnum),16); 4. UPDATE customer SET phone CONCAT( LEFT(p…

JVM调优实战 Day 6:JVM性能监控工具实战

【JVM调优实战 Day 6】JVM性能监控工具实战 文章简述 在Java应用的性能优化过程中,JVM性能监控工具是不可或缺的“眼睛”。它们能够帮助开发者实时掌握系统运行状态,识别性能瓶颈,并为后续调优提供数据支撑。本文作为“JVM调优实战”系列的第…

【嘉立创EDA】PCB 如何按板框轮廓进行铺铜

文章路标👉 :one: 文章解决问题:two: 主题内容:three: 参考方法be end..1️⃣ 文章解决问题 操作环境:嘉立创EDA专业版 V2.2.40 本文使用嘉立创EDA,描述如何在PCB设计时,直接使用板框轮廓进行铺铜。本文将此过程记录,以供有需要的读者参考。 2️⃣ 主题内容 在PCB设计…

dockerfile命令及构建

一,dockerfile常用命令 命令介绍FROM–指定基础镜像LABEL作者信息USER切换运行属主身份WORKDUR切换工作目录ENV用于docker容器设置环境变量RUN用来执行命令行的命令COPY把宿主机文件复制到镜像中去ADD将文件路径复制添加到容器内部路径EXPOSE为容器打开指定要监听的…

uniApp实战四:网络请求封装

文章目录 1.最终效果预览2.请求封装3.创建config配置文件4.创建api请求5.页面调用 说明:当前笔记基于Vue3开发,HbuilderX版本4.66 1.最终效果预览 2.请求封装 在util/request.js下创建js文件,代码如下 import config from /configconst tim…

MCP协议全解:大模型时代的能力开放与服务集成最佳实践

一、MCP协议是什么? MCP(Model Context Protocol,模型上下文协议)是大模型和多智能体(Agent)生态中,用于标准化描述和传递上下文信息、能力开放、服务集成的协议。它的目标是让不同模型、Agent…

oracle 返回最新记录

在Oracle数据库中,如果你想获取一个表中基于某些条件的最新记录,通常有两种常见的方法:使用ROWID或者使用带有ORDER BY和ROWNUM的子查询。下面我将介绍这两种方法的基本用法。 方法1:使用ROWID 如果你的表有一个时间戳字段或者递…

华为云服务器:Can’t connect to MySql server on ‘localhost’(10060)

本地远程连接服务器数据库,提示10060 在 Ubuntu/Debian 系统中,检查 3306 端口是否开启需要从两个方面验证:MySQL 服务是否监听该端口以及防火墙是否允许外部访问该端口。以下是具体步骤: sudo ufw status查看到为开启mysql端口 …

利用Percona XtraDB Cluster搭建MySql高可用集群

引言拉取镜像创建单节点实例(一般在测试环境中使用)自定义网络(集群间相互隔离)映射数据目录创建docker-compose PXC容器用docker-compose启动PXC集群集群验证数据库负载均衡的必要性Haproxy负载均衡器部署故障排查引言 告别单点故障,拥抱持续可用——构建基于 Percona X…

Leetcode 3592. Inverse Coin Change

Leetcode 3592. Inverse Coin Change 1. 解题思路2. 代码实现 题目链接:3592. Inverse Coin Change 1. 解题思路 这一题的话思路上我们走的是一个贪婪算法的思路,即从小到大依次考察,显然,每一次当前最小的非零面额有且必有当前…