【linux】Shell脚本三剑客之awk命令的详细用法攻略

ops/2024/11/9 16:45:12/

在这里插入图片描述

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

🏆 作者简介:景天科技苑
🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。
🏆《博客》:Python全栈,PyQt5和Tkinter桌面应用开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,云原生K8S,数据分析,Django,fastapi,flask等框架,linuxshell脚本等实操经验,网站搭建,数据库等分享。

所属的专栏:linux基础与进阶,shell脚本编写实战
景天的主页:景天科技苑

在这里插入图片描述

文章目录

  • Shell脚本中awk的详细用法教程
    • 引言
    • 一、awk简介
      • 1.1 awk的起源与特性
      • 1.2 awk的工作原理
    • 二、awk的基本语法
      • 2.1 awk命令的基本格式
      • 2.2 常用选项
      • 2.3 内置变量
    • 三、awk的常用用法
      • 3.1 打印整行或特定字段
        • 示例1:打印文件的所有行
        • 示例2:打印文件的特定字段
      • 3.2 根据条件筛选行
        • 示例3:打印文件的第二行
        • 示例4:打印包含特定字符串的行
      • 3.3 自定义分隔符
        • 示例5:以逗号分隔的字段
      • 3.4 从文件中读取awk脚本
        • 示例6:读取awk脚本文件
    • 四、awk的高级特性
      • 4.1 BEGIN和END模式
        • 示例7:统计文件中的行数
      • 4.2 数组和循环
        • 示例8:统计文件中各字段的出现次数
      • 4.3 内置函数
        • 示例9:使用内置函数进行数学计算
        • 示例10:字符串操作
      • 4.4 多模式匹配
        • 示例11:根据条件执行不同动作
      • 4.5 用户自定义函数
        • 示例12:定义并调用用户自定义函数
    • 五、Shell脚本中awk的实际案例
      • 5.1 案例1:处理日志文件
      • 5.2 案例2:格式化CSV文件
      • 5.3 案例3:计算文本文件的平均数<

http://www.ppmy.cn/ops/86681.html

相关文章

面试面到自闭,字节软件测试岗五轮面试,四个小时灵魂拷问...

准备过程 我自己是本科毕业后在老东家干了两年多&#xff0c;老东家算是一家”小公司”(毕竟这年头没有 BAT 或 TMD 的 title 都不好意思报出身)&#xff0c;毕业这两年多我也没有在大厂待过&#xff0c;因此找坑的时候是非常非常虚的。迫于心慌&#xff0c;我好好思考了一阵来…

【Android】碎片—动态添加、创建Fragment生命周期、通信

简单用法 在一个活动中添加两个碎片&#xff0c;并让这两个碎片平分活动空间 先新建一个左侧碎片布局和一个右侧碎片布局 左侧碎片 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/…

微信小程序-粘性组件

再次完善&#xff1a;将区域设置为粘性时&#xff0c;会脱离原有文档&#xff0c;使得出现下方页面突然遮盖一部分&#xff0c;不平滑 解决&#xff1a;给出一个新的空白区域&#xff0c;宽高与粘性区域一致&#xff0c;wx:if 控制其显示 /****************/ 后续补充&#…

c语言编写程序,找出出现次数最高的数字 数字范围1-1000 时间复杂度不超过O(n)

以下是一个C语言程序&#xff0c;使用O(n)的时间复杂度找出出现次数最高的数字&#xff1a; #include <stdio.h>int main() {int count[1001] {0}; // 用于记录每个数字出现的次数int maxNum -1; // 出现次数最高的数字int maxCount 0; // 最高出现次数// 输入数字…

谷粒商城实战笔记-71-商品服务-API-属性分组-前端组件抽取父子组件交互

文章目录 一&#xff0c;一次性创建所有的菜单二&#xff0c;开发属性分组界面1&#xff0c;左侧三级分类树形组件2&#xff0c;右侧分组列表3&#xff0c;左右两部分通信3.1 子组件发送数据3.2&#xff0c;父组件接收数据 Vue的父子组件通信父组件向子组件传递数据子组件向父组…

hadoop学习笔记2-hdfs

3.HDFS 3.1HDFS两类节点 namenode&#xff1a;名称节点datanode&#xff1a;数据节点 1.namenode 1&#xff09;namenode用来存储元数据&#xff0c;接收客户端的读写请求&#xff0c;namenode的元数据会分别保存在磁盘和内存中&#xff0c;保存到内存是为了快速查询数据信…

sql server 连接报错error 40

做个简单的记录,造成40 的原因有很多,你的错误并不一定就是我遇到的这种情况. 错误描述: 首先我在使用ssms 工具连接的时候是可以正常连接的,也能对数据库进行操作. 在使用 ef core 连接 Sql Server 时报错: Microsoft.Data.SqlClient.SqlException (0x80131904): A network-r…

八股文-基础知识-int和Integer有什么区别?

引言 在Java编程实践中&#xff0c;基本数据类型int与包装类Integer扮演着不可或缺的角色&#xff0c;它们间的转换与使用策略深刻影响着程序的性能与内存效率。本文旨在深入探究int与Integer的区别&#xff0c;涵盖其在内存占用、线程安全、自动装箱与拆箱机制等方面的表现。…