Linux命令--awk命令的使用

news/2024/9/25 14:17:27/

原文网址:Linux命令--awk命令的使用_IT利刃出鞘的博客-CSDN博客

简介

本文介绍Linux的awk命令的用法。

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。(AWK名字来源:取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。)

本文介绍用法,命令详解见:Linux命令--awk命令详解_IT利刃出鞘的博客-CSDN博客

本文使用的数据文件:创建一个包含序号、学生姓名、科目名称和得分的文件test.txt

1)  Amit    Physics  80
2)  Rahul   Maths    90
3)  Shyam   Biology  87
4)  Kedar   English  85
5)  Hari    History  89

BEGIN示例:添加每一列的标题

awk 'BEGIN{printf "No\tName\tSub\tMark\n"} {print}' test.txt

结果

No      Name    Sub     Mark
1)  Amit    Physics  80
2)  Rahul   Maths    90
3)  Shyam   Biology  87
4)  Kedar   English  85
5)  Hari    History  89

统计

按列求和

对最后一列(成绩)求和

awk 'BEGIN{total=0}{total+=$4}END{print total}' test.txt

或者

awk 'BEGIN{total=0}{total+=$NF}END{print total}' test.txt

结果

431

平均值

对最后一列(成绩)求平均值

awk 'BEGIN{total=0}{total+=$NF}END{print total/NR}' test.txt

结果

86.2


http://www.ppmy.cn/news/1453912.html

相关文章

OpenCV 为轮廓创建边界框和圆(62)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV检测凸包(61) 下一篇 :OpenCV如何为等值线创建边界旋转框和椭圆(62) ​ 目标 在本教程中,您将学习如何: 使用 OpenCV 函数 cv::boundingRect使用 OpenCV 函数 cv::mi…

【大模型学习】大模型相关概念

知识库 Embeding 嵌入,又称向量化、矢量化。 Prompt engineer 提示词工程 提示工程技巧 RAG 检索增强生成,提高文本的准确性和丰富性。 Fine tuning 微调,优化已有人工智能模型以适应特定任务的技术。 AI agent AI代理人&…

String str = new String(“Hello, World!“);

在Java中,当你执行 String str new String("Hello, World!"); 这行代码时,实际上发生了几件事情: 字符串常量池中的字符串:首先,Java会检查字符串字面量 "Hello, World!" 是否已经在字符串常量池…

HCIP-Datacom-ARST必选题库_路由协议【道题】

单选题 442/1327. 策略路由(policy-based-route)不支持根据下列哪种策略来指定数据包转发的路径? 源地址 8 目的地址 源MAC 报文长度 单选题 10/1327、下面是关于路由选择工具的描述,其中表述错误的是 route- policy只能匹配路由和数据包,并不能用来修改路由属性或者数…

与绿丰源创投世纪:共同引领环保金融的战略合作伙伴

在环保事业的蓬勃发展和可持续金融的兴起之际,沛然绿色资本(和绿丰源创投世纪携手共建战略合作伙伴关系,旨在共同引领环保金融领域的发展,并为全球环保事业注入新的活力和动力。此次合作将充分发挥双方在金融、技术和环保领域的优…

【论文阅读】Learning Texture Transformer Network for Image Super-Resolution

Learning Texture Transformer Network for Image Super-Resolution 论文地址Abstract1. 简介2.相关工作2.1单图像超分辨率2.2 Reference-based Image Super-Resolution 3. 方法3.1. Texture TransformerLearnable Texture Extractor 可学习的纹理提取器。Relevance Embedding.…

01_SpringBoot简单搭建入门程序

目录 1、先创建一个java项目2、导入依赖3、将Java项目修改为SpringBoot项目4、编写一个测试的Controller5、测试(创建一个*.http的文件)方式1:方式2:可以直接在浏览器访问该地址方式3:使用postman也可以 1、先创建一个java项目 我的项目结构…

6-动态路由

前文提到用户可以通过url访问到不属于自己权限的页面,这需要通过动态路由来解决 1.将后端返回的菜单数据存储到Cookie之后,调用状态管理中添加路由方法 //调用store中的setMenu函数this.$store.commit(setMenu,data.data.data)// 动态路由配置this.$sto…