shell脚本——awk命令详解

article/2025/9/16 22:27:00

每日分享:
也许你错过了今天的落日,但你可以去追逐下一个黎明!


文章目录

  • 一、awk
    • 1、工作原理
    • 2、格式
    • 3、常见的内建变量
  • 二、awk命令使用——根据行输出内容
    • 输出所有内容
    • 输出指定行的内容
    • 输出奇数偶数行
    • 输出指定字符行的内容
  • 三、awk命令使用——根据字段输出
  • 四、awk命令使用——BEGIN、END模式
    • 1、格式
    • 2、例子
  • 五、awk命令使用——通过管道符、双引号调用
    • 查看内存使用情况
  • 六、awk命令使用——数组的使用
    • 数组为数字
    • 数组为字符串
    • 创建数组并循环


一、awk

  • awk是一种强大的编辑工具,相较于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个字段来处理,因为awk相当适合小型的文本数据。
  • awk 比较倾向于将一行分成多个字段然后再进行处理,且默认情况下字段的分隔符为空格或 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。

1、工作原理

  • 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。

  • 在使用awk命令的过程中,可以使用逻辑操作符“&&”表示“”、“||”表示“”、“!”表示“”;还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。

2、格式

1、awk 选项 '模式或条件 {操作}' 文件 1 文件 22、awk -f 脚本文件 文件 1 文件 2

3、常见的内建变量

内建量说明
NF当前处理的行的字段个数
NR当前处理的行的行号
FS列分割符。指定每行文本的字段分隔符,默认为空格或制表位。与-F作用相同
$0当前处理的行的整行内容
$n当前处理行的第n个字段(第n列)
FILENAME被处理的文件名
RS行分隔符。awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录,以进行处理。预设值是’\n’

二、awk命令使用——根据行输出内容

输出所有内容

方法一
在这里插入图片描述
方法二
在这里插入图片描述

输出指定行的内容

输出第2行到第4行的内容
方法一
在这里插入图片描述
方法二
在这里插入图片描述
输出第2行和第四行内容
在这里插入图片描述

输出奇数偶数行

输出奇数行
在这里插入图片描述
打印偶数行
在这里插入图片描述

输出指定字符行的内容

输出a开头的行
在这里插入图片描述
输出以字母 f 结尾的行
在这里插入图片描述


三、awk命令使用——根据字段输出

指定字段内容作为分隔符
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
输出与指定内容相反的内容
在这里插入图片描述
在这里插入图片描述


四、awk命令使用——BEGIN、END模式

1、格式

awk 'BEGIN{...}; {...}; END{...}' 文件
  • BEGIN模式是在处理指定的文本之前,需要先执行BEGIN模式中指定的动作;

  • awk再处理指定的文本,之后再执行END模式中指定的动作;

  • END{ } 语句块中,往往会放入打印结果等语句。

2、例子

在这里插入图片描述


五、awk命令使用——通过管道符、双引号调用

在这里插入图片描述
在这里插入图片描述

查看内存使用情况

在这里插入图片描述


六、awk命令使用——数组的使用

数组为数字

在这里插入图片描述

数组为字符串

在这里插入图片描述

创建数组并循环

在这里插入图片描述


http://chatgpt.dhexx.cn/article/KO5MErPS.shtml

相关文章

linux之awk详解

前言 awk不仅仅是Linux系统中的一个命令,而且其还是一种编程语言,可以用来处理数据和生成报告(Excel)。处理的数据可以是一个或多个文件,它是Linux系统最强大的文本处理工具,没有之一。 【语法格式】 aw…

Linux - awk命令详解

目录 1. awk命令 1.1 awk工作原理 1.2 awk语法 1.2.1 awk完整语法 示例: 1.2.1 awk工作流程 1.3 指定分隔符 1.3.1 -F 指定分隔符 1.3.2 指定输出分隔符 2. free命令 2.1 free命令各项含义 2.1.1 什么时候会使用交换分区? 2.1.2…

awk 命令详解

目录 一、awk概述 二、awk 工具原理 三、awk内置变量 四、awk用法示例 1、awk常用内置变量 2、BEGIN、END的用法 3、模糊匹配 4、数值与字符串的比较 5、逻辑运算&&和|| 6、其他内置变量的用法 7、awk高级用法 定义引用变量 awk通过管道符号、双引号调用she…

如何选择适合你的项目管理认证

前言 越来越多的小伙伴开始去考项目管理认证,目前互联网行业内主流的项目管理认证还是PMP的认证。 我想从几个方面来深度讲一讲项目管理认证的内容和价值,帮助大家做一个选择和辨别,避免在众多的项目管理认证中迷失了方向,一不小…

【敏捷方法落地之旅】-PMI_ACP敏捷认证交流会

会议名称:PMI_ACP敏捷认证交流会 会议时间:3月26日(星期六)14:00-16:30 会议举办具体地址:黄浦区成都北路500号峻岭广场16楼 票价:免费 参会规模(人数):50 会议主办方:光环国际 一、会议简介 项目管…

CSM(Certified Scrum Master) 敏捷认证是什么?

Scrum 是用于开发和持续支持复杂产品的一个框架。Scrum 基于试验性过程控制理论,借鉴了精益思想、时间盒、模块化设计等,并完整地体现了敏捷宣言和敏捷原则。Scrum 采用一种迭代、增量式的方法来优化对未来的预测和管理风险,建立组织响应变化…

权威的国际敏捷认证Certified Scrum Master (CSM)

权威的国际敏捷认证Certified Scrum Master (CSM) A. 认证前 在学习Certified Scrum Master (CSM)之前,你需要了解: 什么是CSMCSM认证与其他敏捷认证有什么区别常见问题CSM培训课程大纲1. 什么是CSM 什么是Certified Scrum Master (CSM)2. Scrum国际敏捷认证 敏捷认证的对比…

PMI-ACP敏捷认证:敏捷开发的6个实战经验

敏捷开发,相对传统软件开发模式,它主要是针对快速变化的需求,不断优化管理流程,最终推出优质软件。 1. 快速迭代 相对那种半年一次的大版本发布来说,小版本的需求、开发和测试更加简单快速。一些公司,一年仅发布仅2~3 个版本,发布流程缓慢,它们仍采用瀑布开发模式,更严…

2021PMI-ACP®国际敏捷项目管理师认证招生简章

敏捷管理专业人士(PMI-ACP)认证要求敏捷培训、敏捷项目工作经验以及包含敏捷实践、工具、技巧考试的结合,结合了其他敏捷方法,包括SCRUM(敏捷开发),XP(极限编程)和Lean D…

Scrum master敏捷认证全真试题截图PDF CSM敏捷认证考题真题题目试题2022年试题和答案下载

Scrum master敏捷认证全真试题截图PDF CSM敏捷认证考题真题题目试题2022年试题和答案下载 一、CSM敏捷认证简介 更多的介绍大家可以自行去百度搜索了解一下。 市面上的敏捷认证有两个: 一个是PMI的PMI-ACP认证; 一个是Scrum联盟的Certificated Scrum…

记一次CRM敏捷认证培训学习总结

前言 最近公司组织了一次关于CRM敏捷认证的培训和考试活动。为了加深记忆和留待以后回顾复习,也为了想要了解敏捷的同学提供一定的帮助,特此写了一篇关于敏捷培训的总结。 学习链接: Scrum指南2020版本下载地址:https://scrumgui…

敏捷认证_新敏捷–认证

敏捷认证 上次我们看情况如何。 事情如何在滑雪胜地的一群软件开发人员之间汇聚:在该领域进行了实际实验,并取得了成功。 有一个沟通渠道可以传播这些想法。 现在有了共同的愿景和名字。 除非肯施瓦伯 ( Ken Schwaber )具有精明的…

C语言之#include用法详解

学习Linux C,必须要理解include,只要弄清以下几个问题,就能完全理解include了! 1.#include 实质是什么? 预编译的时候copy include头文件的内容到当前行 (疑问:预编译命令 $gcc -E test.c -o …

CMake中include的使用

CMake中的include命令用于从文件或模块(file or module)加载并运行CMake code。其格式如下&#xff1a; include(<file|module> [OPTIONAL] [RESULT_VARIABLE <var>][NO_POLICY_SCOPE]) 从给定的文件加载并运行CMake code。变量读写访问调用者的范围(Variable rea…

Makefile基础教学(include的使用方法)

文章目录 前言一、include在makefile中的概念介绍二、include使用示例三、include中需要注意的一些操作1. 在include前加-选项2. include触发规则创建了文件会发生什么3. include包含的文件夹存在 总结 前言 本篇文章将讲解include的使用方法&#xff0c;在C语言中使用include…

django urls include用法

在Django框架中&#xff0c;提供了非常清晰简洁的url管理方法&#xff0c;在新建一个project之后(此处为myproject),然后在项目中建立一个app(此处为myapp)&#xff0c;会看到有如下的目录结构&#xff1a; 一般所熟知的就是在myproject/myproject/urls.py中的urlpatterns列表中…

#include的使用方法

include的作用&#xff1a; #include叫做“文件包含” / include 语句包含并运行指定文件。 功能&#xff1a;它的功能是用来指定文件的全部内容替换程序中的命令行&#xff0c;从而使指定的文件与当前源文件连成一个源文件 书写格式&#xff1a; #include <文件名> …

移位密码及其python实现

就当为CSDN这方面的python开源做点贡献哈哈哈 移位密码 算法原理 ​ python代码 #移位密码 class ShiftCipher:global dddict(zip(.join(chr(i) for i in range(97,123)),list(range(0,26))))#字母表def __init__(self,k:int):self.kk;#k为移位数def encrypt(self,m:str):#加…

python编写移位密码实现加密与解密

python编写移位密码实现加密与解密 移位密码 参考代码&#xff0c;通过列表和ASCII实现&#xff1a; def encrypt(s,key):l list(s);l1 list();for i in l:if i.isalpha():k (ord(i) - 97 key) % 26 97;l1.append(chr(k));else:l1.append(i);s1 .join(l1)print(encrypte…