Linux学习之awk函数
awk
里边的函数分为内置函数
和自定义函数
。
内置函数有下边的几种:
算术函数(arithmetic)
字符串函数(string)
输入/输出函数和通用函数(input/output, and general)
自定义函数
格式如下:
function 函数名(参数){awk语句集return awk变量
}
算术函数
函数名 | 功能 |
---|---|
atan2(x, y) | x/y的反正切,x和y以弧度为单位 |
cos(x) | x的余弦,x以弧度为单位 |
exp(x) | x的指数函数,exp是高等数学里以自然常数e为底的指数函数。exp(x)表示的是e的x次方 |
int(x) | x的整数部分,取靠近零一侧的值 |
log(x) | x的自然对数 |
rand() | 比0大比1小的随机浮点值 |
sin(x) | x的正弦,x以弧度为单位 |
sqrt(x) | x的平方根 |
srand(x) | 为计算随机数指定一个种子值 |
字符串函数
函数名 | 功能 |
---|---|
asort(s [,d ]) | 将数组 s 按数据元素值排序。索引值会被替换成表示新的排序顺序的连续数字。另外,如果指定了d,则排序后的数组会存储在数组d中 |
asorti(s [,d ]) | 将数组 s 按索引值排序。生成的数组会将索引值作为数据元素值,用连续数字索引来表明排序顺序。另外如果指定了 d ,排序后的数组会存储在数组 d 中 |
gensub(r , s , h [, t ]) | 查找变量$0 或目标字符串 t (如果提供了的话)来匹配正则表达式r 。如果 h 是一个以 g 或 G 开头的字符串,就用 s 替换掉匹配的文本。如果 h 是一个数字,它表示要替换掉第 h 处 r 匹配的地方 |
gsub(r , s [,t ]) | 查找变量$0 或目标字符串t(如果提供了的话)来匹配正则表达式 r 。如果找到了,就全部替换成字符串 s |
index(s , t ) | 返回字符串 t 在字符串 s 中的索引值,如果没找到的话返回0length([s ])返回字符串 s 的长度;如果没有指定的话,返回$0的长度 |
match(s , r [,a ]) | 返回字符串 s 中正则表达式 r 出现位置的索引。如果指定了数组 a ,它会存储 s 中匹配正则表达式的那部分 |
split(s , a [,r ]) | 将 s 用FS 字符或正则表达式 r (如果指定了的话)分开放到数组 a 中。返回字段的总数 |
sprintf(format , variables ) | 用提供的 format 和 variables 返回一个类似于printf输出的字符串 |
sub(r , s [,t ]) | 在变量$0 或目标字符串 t 中查找正则表达式r 的匹配。如果找到了,就用字符串 s 替换掉第一处匹配 |
substr(s , i [,n ]) | 返回 s 中从索引值 i 开始的 n 个字符组成的子字符串。如果未提供 n ,则返回 s 剩下的部分 |
tolower(s ) | 将 s 中的所有字符转换成小写 |
toupper(s ) | 将 s 中的所有字符转换成大写 |
自定义函数
自定义函数需要在BEGIN
例程之前进行定义,然后可以在BEGIN
例程、主输入循环和END
例程都可以使用。
awk 'function sum(a,b){return a+b}BEGIN{ print sum(3+7)}'
定义了一个sum
函数,返回两个数的值。
此文章为8月Day 13学习笔记,内容来源于极客时间《Linux 实战技能 100 讲》。
相关文章:

Linux学习之awk函数
awk里边的函数分为内置函数和自定义函数。 内置函数有下边的几种: 算术函数(arithmetic) 字符串函数(string) 输入/输出函数和通用函数(input/output, and general) 自定义函数格式如下…...

Redis的数据结构到底是一种什么样的结构?
有了上一篇NoSQL的基础,我们也都知道了Redis就是一种典型的NoSql,那我们就先简简单单的介绍一下Redis: Redis是什么? Redis(Remote Dictionary Server)是一个开源的使用ANSI C语言编写的高性能键值存储系统…...

eclipse 导入项目js报错问题
eclipse 导入项目后会出现项目中的js文件报错(红叉),如下图所示,有时候报错的文件很多,需要集中处理。 解决办法: 右键项目名称》Properties》MyEclipse》JavaScript》Include Path,在右侧选择“…...

《HeadFirst设计模式(第二版)》第七章代码——外观模式
代码文件目录: Subsystem: Amplifier package Chapter7_AdapterAndFacadePattern.FacadePattern.Subsystem;/*** Author 竹心* Date 2023/8/8**///扬声器 public class Amplifier {int volume 0;//音量public void on(){System.out.println("The amplifier …...
前端杂项-个人总结八股文的背诵方案
个人总结八股文的背诵方案 URL到显示网页的过程 浏览器解析URL,获取协议,主机名,端口号,路径等信息,并通过DNS查询将主机名转换为对应的IP地址浏览器与服务器建立TCP,进行三次握手。浏览器向服务器发送HT…...

利用 3D 地理空间数据实现Cesium的沉浸式环境
推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 为了将大量异构 3D 地理空间数据处理和分散到各行各业的地理空间应用程序和运行时引擎,Cesium 创建了 3D Tiles,这是一种用于高效流式传输和渲染大量异构数据集的开放标准。3D Tile…...

微服务——ES实现自动补全
效果展示 在搜索框根据拼音首字母进行提示 拼音分词器 和IK中文分词器一样的用法,按照下面的顺序执行。 # 进入容器内部 docker exec -it elasticsearch /bin/bash# 在线下载并安装 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch…...
北斗+5G 织就精确定位的“天罗地网”
今年,邓中亮更忙了。 外部会议,内部讨论,课题研究,还有疫情困扰期间没能出的差铆足劲似的补上,一天里,从离开床和回到床中间的时间都被工作冠名了。 北京邮电大学教授邓中亮 忙碌的加速键在2020年按下暂停…...
Ansible Roles详解
Ansible 的角色(Roles)是一种组织和管理任务和变量的方法,可以帮助您更好地组织和重用 Ansible 代码。角色是一个可重用的、自包含的 Ansible 单元,它封装了一组任务和变量,可以在不同的剧本中轻松地重用。 角色的目录…...

微服务学习笔记-基本概念
微服务是一种经过良好架构设计的分布式架构方案。根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。 微服务的架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力&…...

Linux查看GPU显卡/CPU内存/硬盘信息
显卡信息命令/CPU内存/硬盘 1.显卡2、CPU内存3、硬盘 1.显卡 nvidia-smi nvidia-smi(显示一次当前GPU占用情况) nvidia-smi -l(每秒刷新一次并显示) watch -n 5 nvidia-smi (其中,5表示每隔6秒刷新一次终端…...
SQLAlchemy 入门:Python 中的 SQL 工具包和 ORM
SQLAlchemy 是 Python 中一款非常流行的数据库工具包,它对底层的数据库操作提供了高层次的抽象。在本篇文章中,我们将介绍 SQLAlchemy 的两个主要组成部分:SQL 工具包 (SQL Toolkit) 和对象关系映射器 (Object-Relational Mapper, ORM) 的基本…...
react Hook+antd封装一个优雅的弹窗组件
前言 在之前学vue2的时候封装过一个全局的弹窗组件,可以全局任意地方通过this调用,这次大创项目是用react技术栈,看了一下项目需求,突然发现弹窗还是比较多的,主要分为基础的弹窗以及form表单式的弹窗,如果…...

HICP学习--BGP综合小实验
需要完善 一、实验拓扑 二、实验需求 1、R2-7每台路由器均存在一个环回接口用于建立邻居,同时还存在一个环回来代表连接用户的接口;最终这些连接用户的接口网络需要可以和R1/8的环回通讯 2、AS2网段地址172.16.0.0/16 减路由条目数量 三、实验步骤 首先配置IP R…...

grafana中利用变量来添加dashboard详情页地址实现点击跳转
背景 最近弄grafana的dashboard,突然想到各个dashboard之前可以直接跳转到不同详细页面的面板,于是找了找实现方法 实现 以stat 格式的面板为例,显示出各个pod的对应状态, PromQL是(avg(kube_pod_status_phase{phase"Running", namespace!"kube-system"…...
正则表达式练习
正则表达式练习 工具目的代码运行结果 工具 pycharm 目的 https://www.77xsw.cc/fenlei/1_1/:第一页的网址 https://www.77xsw.cc/fenlei/1_2/:第二页的网址 ... https://www.77xsw.cc/fenlei/1_10/:第十页的网址 代码 import requests im…...
leetcode做题笔记73矩阵置零
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 思路一:记录行列值 void setZeroes(int** matrix, int matrixSize, int* matrixColSize){int row[matrixSize],col[*matrixColSize];fo…...

【2.1】Java微服务: Nacos的使用
目录 Nacos介绍 Nacos安装 下载和安装 修改端口 启动 服务注册与发现 导入Nacos管理依赖 导入服务依赖 配置Nacos的服务地址 启动服务,查看已注册的服务 服务分级存储模型 分级存储模型介绍 具体结构 配置实例集群 同集群优先的负载均衡策略 服务权重配置…...

vue安装及环境配置
vue安装及环境配置 1.安装 Node.js 2.配置默认安装目录和缓存日志目录 3.配置环境变量 4.配置淘宝镜像 5.安装vue和脚手架 6.创建并运行项目 1.安装 Node.js Download | Node.js 在这里👆下载的是最新版,如果要安装以前的版本👇&…...

java使用正则表达式时遇到的问题
标准的正则表达式是什么样的 Node.js(JavaScript) 在正则表达式中,斜杠(/)用来表示正则表达式的开始和结束。在JavaScript中,正则表达式可以使用斜杠包裹起来,以表示这是一个正则表达式的字面量。 在Node.js中&…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...