好的培训网站模板/网络营销考试答案

好的培训网站模板,网络营销考试答案,农村电商运营的基本流程,安庆网站开发1 第2.1节:AWK脚本结构 1.1 第1个awk脚本 假设有如下的数据待处理,需要将第2列提取出来: #, 名称, 大小, 类型, 修改, 属性 1, COMMIT_EDITMSG, 331 bytes, 文件, 24/09/16 08:42:19, -a----- 2, config, …

1 第2.1节:AWK脚本结构

1.1 第1个awk脚本

  假设有如下的数据待处理,需要将第2列提取出来:

#, 名称,           大小,      类型, 修改,              属性
1, COMMIT_EDITMSG, 331 bytes, 文件, 24/09/16 08:42:19, -a-----
2, config,         130 bytes, 文件, 24/09/14 11:52:27, -a-----
3, description,    73 bytes,  文件, 24/09/14 11:52:27, -a-----
4, HEAD,           23 bytes,  文件, 24/09/14 11:52:27, -a-----
5, index,          145 bytes, 文件, 24/09/16 08:42:19, -a-----
6, tgitchangelist, 0 bytes,   文件, 24/09/16 08:42:21, -a-----

1.1.1 命令行方式

awk示例:

awk '{print $2}' data.txt

awk命令后的单引号内容表示awk语句。

输出:

名称,
COMMIT_EDITMSG,
config,
description,
HEAD,
index,
tgitchangelist,

1.1.2 脚本方式

  将下面的代码复制到文件get_col_2.awk

#!/bin/awk -f
{print $2
}

注意:第1行注释很重要,-f表示该脚本可以接收文件
执行命令get_col_2.awk data.txt
输出:

$ ./get_col_2.awk data.txt
名称,
COMMIT_EDITMSG,
config,
description,
HEAD,
index,
tgitchangelist,
  • 发现什么没有? 不论是命令方式,还是脚本文件方式,awk代码都用{}包围。

1.2 模式 - 动作(Pattern - Action)

  在 AWK 脚本中,模式 - 动作是核心结构。模式用于筛选输入数据中的特定行,动作则定义了对这些筛选出来的行要执行的操作。
示例代码:

#!/bin/awk -f
$1 % 2 == 0 {print $1,$2
}$1 % 3 == 0 {print $1,$2
}

  上述示例代码中有两个模式和动作,

  • 第1个模式:第1列的数字整除2,即$1 % 2 == 0,则执行后面{print $1,$2}中的动作,这里是打印第1、2列。
  • 第2个模式:第1列的数字整除3,即$1 % 3 == 0,则执行后面的{print $1,$2}中的动作,这里是打印1、2列,当然,可以做别的事。
    输出:
$ ./get_col_2.awk data.txt
#, 名称,
#, 名称,
2, config,
3, description,
4, HEAD,
6, tgitchangelist,
6, tgitchangelist,

注:由于有多个模式-动作块,所以会发现有些数据打印了多次!

🕮说明
  awk的处理逻辑是读取每1行文本,将这行文本丢到每个模式-动作进行处理,如果匹配了模式,则执行该模式对应的动作。

  模式可以是关系表达式(如$1 > 100筛选出第一列数据大于 100 的行)、正则表达式(如/error/筛选出包含 “error” 字符串的行)等。动作部分则能包含各种 AWK 语句,像变量赋值、数学运算、调用函数等。通过灵活组合模式与动作,实现对数据的精准处理。

1.3 BEGIN 和 END 块

BEGIN 块在 AWK 读取输入数据之前执行,常用于初始化变量、设置环境等操作。例如,在对系统及进程的 CPU、内存进行自动监控分析时,可能需要初始化一些统计变量,记录总的 CPU 使用时长、内存使用峰值等,就可以在 BEGIN 块中完成:

BEGIN {    totalCpuTime = 0    maxMemoryUsage = 0}

END 块在所有输入数据处理完毕后执行,通常用于输出最终结果、清理资源等。继续上面的例子,在分析完所有数据后,我们想输出总的 CPU 使用时长和内存使用峰值的统计结果,就可在 END 块中实现:

END {    print "Total CPU Time:", totalCpuTime    print "Max Memory Usage:", maxMemoryUsage}

通过 BEGIN 和 END 块,能让 AWK 脚本在数据处理的前后阶段完成一些准备和收尾工作,与中间的模式 - 动作结构协同,构建出完整、高效的数据处理流程,这也是 AWK 在数据处理领域强大功能的体现。

1.4 总结:

  一个完整的awk脚本包含以下几部分

  • 注释:该注释是有意义的,可以告诉脚本引擎该脚本的执行方式
  • BEGIN块:在1行数据都没有处理的时候,进行一些初始化设置,也可以定义一些函数
  • 模式-动作块:数据处理代码,可以有多个模式-动作块,对同一行数据进行多次处理
  • END块:数据全部处理结束后执行的语句

作者声明:本文用于记录和分享作者的学习心得,可能有部分文字或示例来自AI平台,如:豆包、DeepSeek(硅基流动)(注册链接)等,由于本人水平有限,难免存在表达错误,欢迎留言交流和指教!
Copyright © 2022~2025 All rights reserved.

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

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

相关文章

C# 项目06-计算程序运行时间

实现需求 记录程序运行时间,当程序退出后,保存程序运行时间,等下次程序再次启动时,继续记录运行时间 运行环境 Visual Studio 2022 知识点 TimeSpan 表示时间间隔。两个日期之间的差异的 TimeSpan 对象 TimeSpan P_TimeSpa…

网络华为HCIA+HCIP NFV

目录 NFV关键技术:虚拟化 NFV关键技术:云化 NFV架构 NFV标准架构 ​编辑 NFV架构功能模块 NFV架构接口 NFV关键技术:虚拟化 在NFV的道路上,虚拟化是基础,云化是关键。传统电信网络中,各个网元都是…

SpringBoot实现异步调用的方法

在Java中使用Spring Boot实现异步请求和异步调用是一个常见的需求,可以提高应用程序的性能和响应能力。以下是实现这两种异步操作的基本方法: 一、异步请求(Asynchronous Request) 异步请求允许客户端发送请求后立即返回&#x…

使用vite新建vue3项目 以及elementui的使用 vite组件问题

项目创建 在创建项目之前我们应该在终端中输入 node -v 和 npm -v 只有它们都能正常查看版本号才说明我们之前是已经安装完成的。 接下来我们在合适的目录下输入npm create vitelatest 它会要求你输入项目的名称,这个名称和我们之前通过cil创建的命名规则一样。…

音频录制小妙招-自制工具-借助浏览器录一段单声道16000采样率wav格式音频

先看效果 1、打开页面 2、点击开始录音,弹出权限提示,点击“仅这次访问时允许” 3、录完后,点击停止 4、文件自动下载到默认目录 上代码 js 部分 document.addEventListener(DOMContentLoaded, () > {const startBtn document.getEleme…

数学建模 绘图 图表 可视化(3)

文章目录 前言二维散点图系列坐标图数据分布特征,Q-Q、P-P图分类图一般的曲线图峰峦图总结参考资料 前言 承接上期 数学建模 绘图 图表 可视化(1)的总体描述,这期我们继续跟随《Python 数据可视化之美 专业图表绘制指南》步伐来学…

【数据结构】栈(Stack)、队列(Queue)、双端队列(Deque) —— 有码有图有真相

目录 栈和队列 1. 栈(Stack) 1.1 概念 1.2 栈的使用(原始方法) 1.3 栈的模拟实现 【小结】 2. 栈的应用场景 1、改变元素的序列 2、将递归转化为循环 3、逆波兰表达式求值 4、括号匹配 5、出栈入栈次序匹配 6、最小栈…

【强化学习】Reward Model(奖励模型)详细介绍

📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…

国家雪亮工程政策护航,互联网监控管理平台铸就安全防线

在当今社会,公共安全是国家发展的重要基石,也是人民安居乐业的基本保障。为了打造更高水平的平安中国,国家推出了意义深远的雪亮工程,并出台了一系列相关政策,为公共安全事业保驾护航。而互联网监控管理平台作为雪亮工…

蓝桥杯 第十天 2019国赛第4题 矩阵计数

最后一个用例超时了,还是记录一下 import java.util.Scanner;public class Main {static int visited[][];static int count 0;static int n,m;public static void main(String[]args) {Scanner scan new Scanner(System.in);n scan.nextInt();//2m scan.nextIn…

coding ability 展开第五幕(二分查找算法)超详细!!!!

. . 文章目录 前言二分查找搜索插入的位置思路 x的平方根思路 山脉数组的峰顶索引思路 寻找旋转排序数组中的最小值思路 总结 前言 本专栏上篇博客已经把滑动指针收尾啦 现在还是想到核心——一段连续的区间,有时候加上哈希表用起来很爽 今天我们来学习新的算法知识…

基于springboot的母婴商城系统(018)

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本母婴商城系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…

shell 脚本搭建apache

#!/bin/bash # Set Apache version to install ## author: yuan# 检查外网连接 echo "检查外网连接..." ping www.baidu.com -c 3 > /dev/null 2>&1 if [ $? -eq 0 ]; thenecho "外网通讯良好!" elseecho "网络连接失败&#x…

使用OBS进行webRTC推流参考

参考腾讯云官方文档: 云直播 OBS WebRTC 推流_腾讯云 说明非常详细,分为通过WHIP和OBS插件的形式进行推流。 注意:通过OBS插件的形式进行推流需要使用较低的版本,文档里有说明,需要仔细阅读。

Excel 小黑第18套

对应大猫18 .txt 文本文件,点数据 -现有链接 -浏览更多 (文件类型:可以点开文件看是什么分隔的) 双击修改工作表名称 为表格添加序号:在数字那修改格式为文本,输入第一个序号样式(如001&#…

快速入手-基于Django的mysql配置(三)

Django开发操作数据库更简单,内部提供了ORM框架。比如mysql,旧版本用pymysql对比较多,新的版本采用mysqlclient。 1、安装mysql模块 pip install mysqlclient 2、Django的ORM主要做了两件事 (1)CRUD数据库中的表&am…

【总结篇】java多线程,新建线程有几种写法,以及每种写法的优劣势

java多线程 新建线程有几种写法,以及每种写法的优劣势 [1/5]java多线程 新建线程有几种写法–继承Thread类以及他的优劣势[2/5]java多线程-新建线程有几种写法–实现Runnable接口以及他的优劣势[3/5]java多线程 新建线程有几种写法–实现Callable接口结合FutureTask使用以及他的…

基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统

作者主页:编程千纸鹤 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参…

【芯片验证】面试题·对深度为60的数组进行复杂约束的技巧

朋友发给我的芯片验证笔试题,觉得很有意思,和大家分享一下。 面试题目 class A中一个长度为60的随机数组rand int arr[60],如何写约束使得: 1.每个元素的值都在(0,100]之间,且互不相等; 2.最少有三个元素满足勾股数要求,比如数组中包含3,4,5三个点; 请以解约束最快…

【论文阅读】Contrastive Clustering Learning for Multi-Behavior Recommendation

论文地址:Contrastive Clustering Learning for Multi-Behavior Recommendation | ACM Transactions on Information Systems 摘要 近年来,多行为推荐模型取得了显著成功。然而,许多模型未充分考虑不同行为之间的共性与差异性,以…