Linux Shell 脚本编程基础知识篇—awk的条件判断(3)
ℹ️大家好,我是练小杰,今天周五了,又是一周过去了😆
本文是有关Linux shell脚本编程的awk命令的条件语句,后续我会不断增加相关内容 ~~
回顾:【awk字符串函数和内置变量】
更多Linux 相关内容请点击👉【Linux专栏】
文章目录
- 前言
- awk条件判断
- 单分支语句
- 双分支if语句
- 举例
- 多分支语句
- 实例:
- While循环
- do-while循环
- for循环
- awk命令综合练习
- 答案如下:
前言
在Shell脚本中的条件判断语句,与C语言、PHP语法里的条件判断语句如出一辙,学过C语言条件判断语句的朋友应该深有体会!!!
awk条件判断
与C语言一样,awk脚本中也有if选择语句,for循环,while循环等的条件判断语句,下面就来讲讲awk脚本的判断,循环语句以及awk命令的综合练习~~
单分支语句
if
判断后面如果只有一个动作指令,则花括号{}可省略,如果if
判断后面的指令为多条指令则需要使用花括号括起来,多个指令使用分号分隔。
- 基本语法:
if(判断条件){
动作指令序列;
}
- 举例:查找cpu使用率大于0.5的进程
[root@localhost ~]# ps -eo user,pid,pcpu,comm | awk '{if($3>0.5) print}'
root 8078 0.9 gnome-shell
双分支if语句
- 基本语法:
if (判断条件){
动作指令序列1;
}
else {动作指令序列2;
}
举例
- 当文件中第二列大于100时输出当前脚本名,否则输出“第二列不大于100”
awk '{ if ($2 > 100) print $0; else print "第二列不大于100" }' 文件名
- 统计文件
/etc/passwd
中系统用户和普通用户的个数
awk –F ':' '{if($3<1000) {x++} else{y++}} END{print "系统用户:" x "","普通用户的个数:" y ""}' /etc/passwd#输出: 系统用户:44 普通用户的个数:15
多分支语句
if (判断条件1) {动作指令1;
} else if (判断条件2) {动作指令2;
} else {动作指令N;
}
说明:
- 首先检查判断条件1,如果条件为真,则执行动作指令1。
- 如果判断条件1为假,则继续检查判断条件2,如果条件为真,则执行动作指令2
- 如果判断条件1和判断条件2都为假,则执行动作指令N
实例:
- 计算当前目录下,普通文件的大小,使用KB作为单位
ls -l|awk 'BEGIN{sum=0} !/^d/{sum+=$5} END{print "total size is:“ int(sum/1024),"KB"}'
命令解释:
ls -l
:该命令列出当前目录下的所有文件和目录的详细信息,包括权限、链接数、所有者、所属组、大小、修改日期和文件名。'BEGIN{sum=0}'
:在处理任何输入行之前,先初始化一个变量 sum 为 0。!/^d/{sum+=$5}
:对于每一行输入,如果该行不以字母 d 开头(!/^d/
),则将该行的第5个字段(文件大小)加到 sum 中。这里^d
表示以 d 开头的行,通常目录行的第一个字符是d
,所以这个条件排除了目录,只计算文件的大小。END{print "total size is:" int(sum/1024),"KB"}
:在处理完所有输入行后,打印总大小。int(sum/1024) 将总大小转换为KB,并取整。
- 统计
netstat -anp
状态为LISTEN和CONNECT的连接数量分别是多少
netstat -anp | awk '$6~/LISTEN|CONNECTED/{sum[$6]++} END{for (i in sum) printf "%-10s %-6s %-3s \n", i," ",sum[i]}'
命令解释:
netstat
: 查看网络连接、路由表和网络接口信息$6~/LISTEN|CONNECTED/
:检查每一行的第6个字段是否匹配 LISTEN 或 CONNECTED。~
是匹配操作符,用于模式匹配。{sum[$6]++}
:如果匹配成功,则将该状态的计数器加1。这里使用关联数组 sum 来记录每种状态的数量。END{...}
: 在处理完所有输入行后执行的代码块。for (i in sum)
:遍历关联数组 sum 中的所有元素。printf "%-10s %-6s %-3s \n", i," ",sum[i]
:格式化输出。每行输出三个字段:状态名称(左对齐,占10个字符宽度)、一个空格(占6个字符宽度)、状态数量(左对齐,占3个字符宽度)。
While循环
- while循环用于不断执行一系列命令,直到测试条件为假(false)
- break语句用来终止一个重复执行的循环。这种循环可以是for、until或者while语句构成的循环。
break [n]
- continue语句跳过循环体中位于它后面的语句,回到本层循环的开头,进行下一次循环。
continue [n]
- exit语句用来退出一个Shell程序,并设置退出值。
exit [n]
- 基本语法:
while (condition) {while body} #或者嵌套用法
while 测试条件do语句序列done
- 举例:awk 命令用于逐行读取 lxj.txt 文件,并对每一行中的每个字段进行遍历和打印
awk '{i=1while(i <= NF) {print $ii++}
}' lxj.txt
- 命令解释
while(i <= NF)
: while 循环用于遍历当前行的所有字段。
NF 是 awk 的一个内置变量,表示当前行的字段数量(Number of Fields)。
i <= NF 是循环条件,表示当 i 小于或等于当前行的字段数时继续循环。
print $i
:
print 是 awk 的一个内置函数,用于输出内容。
$i
是 awk 的一个特殊变量,表示当前行的第 i 个字段。例如,$1 表示第一个字段,$2 表示第二个字段,依此类推。
do-while循环
- 基本格式:
do {body} while (condition)
- 实例:awk 命令用于逐行读取 lxj.txt 文件,并对每一行中的每个字段进行遍历和打印(和上面例子效果一样)
awk '{i = 1do {print $ii++} while (i <= NF)
}' lxj.txt
for循环
- 基本语法:
for (variable assignment; condition; iteration process)
{ body}
- 举例:awk 命令用于逐行读取 test.txt 文件,并对每一行中的每个字段、进行遍历和打印
awk '{for(i=1; i<=NF; i++) {print $i}
}' test.txt
解释:
for(i=1; i<=NF; i++)
: for 循环用于遍历当前行的所有字段
i=1
:初始化循环变量 i 为 1,表示从第一个字段开始。
i<=NF
:循环条件,NF 是 awk 的一个内置变量,表示当前行的字段数量。因此,i<=NF
表示当 i 小于或等于当前行的字段数时继续循环。
i++
:每次循环后,i 的值增加 1
awk命令综合练习
- 创建文本文件
ljjawk.txt
内容如下:
Mike Harrington:[510] 548-1278:250:100:175
Christian Dobbins:[408] 538-2358:155:90:201
Susan Dalsass:[206] 654-6279:250:60:50
Archie McNichol:[206] 548-1348:250:100:175
Jody Savage:[206] 548-1278:15:188:150
Guy Quigley:[916] 343-6410:250:100:175
Dan Savage:[406] 298-7744:450:300:275
Nancy McNeil:[206] 548-1278:250:80:75
John Goldenrod:[916] 348-4278:250:100:175
Chet Main:[510] 548-5258:50:95:135
Tom Savage:[408] 926-3456:250:168:200
Elizabeth Stachelin:[916] 440-1763:175:75:300
- 利用
ljjawk.txt
文本文件内容进行以下练习:
- 显示所有电话号码
- 显示Dan的电话号码
- 显示Susan的名字和电话号码
- 显示所有以D开头的姓
- 显示所有以一个C或E开头的名
- 显示所有只有四个字符的名
- 显示所有区号为916的人名
- 显示Mike的捐款.显示每个值时都有以$开头。如
$250$100$175
- 显示姓,其后跟一个逗号和名,如Jody,Savage
- 写一个awk的脚本,它的作用:显示Savage的全名和电话号码.显示Chet的捐款.显示所有头一个月捐款$250的人名.
答案如下:
- 执行查询命令之前,先看看所有电话号码
cat ljjawk.txt
- 显示Dan的电话号码
awk ':' '$1~/Dan/ {print $2}' ljjawk.txt
- 显示Susan的名字和电话号码
awk -F ':' '$1~/Susan/ {print $1 $2}' ljjawk.txt
- 显示所有以D开头的姓
awk -F ':' '$1~/^D/ {print $1}' ljjawk.txt
- 显示所有以一个C或E开头的名
awk -F: '$1~/^[C|E]/ {print $1}' ljjawk.txt | awk '{print $2}'
- 显示所有只有四个字符的名
awk 'length($1)=="4" {print $1}' ljjawk.txt
- 显示所有区号为916的人名
awk -F "[:]" '$2~/916/ {print $1}' ljjawk.txt
- 显示Mike的捐款.显示每个值时都有以$开头
awk -F "[:]" '$1~/Mike/ {print "$"$3 "$"$4 "$"$5}' ljjawk.txt
- 显示姓,其后跟一个逗号和名
awk '{print $1","$2}' ljjawk.txt
- 编写一个awk的脚本,它的作用:显示Savage的全名和电话号码.显示Chet的捐款.显示所有头一个月捐款$250的人名
awk 'BEGIN{FS=":" } {
if ($1~/Savage/) { print $1,$2}
if($1~/Chet/) {print $3,$4,$5}
if($3~/250/) {print $1}
}' ljjawk.txt
至此,awk命令的相关内容到这里就结束了😆
如果想了解更多,点击主页【练小杰的CSDN】
⚠️若博客里的内容有问题,欢迎指正,我会及时修改!!!
下周再见啦,各位🧍♂️大佬们~~
相关文章:
Linux Shell 脚本编程基础知识篇—awk的条件判断(3)
ℹ️大家好,我是练小杰,今天周五了,又是一周过去了😆 本文是有关Linux shell脚本编程的awk命令的条件语句,后续我会不断增加相关内容 ~~ 回顾:【awk字符串函数和内置变量】 更多Linux 相关内容请点击👉【Li…...
安装Cockpit服务,使用Web页面管理你的Linux服务器
说起管理 Linux 服务器,大家首先想到的使用 SecureCRT、Xshell、MobaXterm 等工具远程到服务器,然后使用命令行管理服务器。今天给大家介绍一个好玩的工具,名字叫Cockpit, Cockpit 是一个免费开源的基于 web 的 Linux 服务器管理…...
基于微信小程序的面部动作检测
目录 引言系统架构概述前端实现细节后端实现细节防止欺骗与误导的措施前后端数据交互详细细节关键技术选型关键技术框架与算法详细说明优化与注意事项总结 引言 微信小程序的面部动作检测的核心功能包括检测用户的左右转头、眨眼和张嘴动作,并根据检测结果逐步引导…...
使用npm 插件[mmdc]将.mmd时序图转换为图片
使用npm 插件[mmdc]将.mmd时序图转换为图片 1. 安装 mmdc2. 转换为图片 可以使用 mmdc (Mermaid CLI)这个工具来将 .mmd 时序图(Mermaid语法描述的时序图)转换为图片,以下是使用步骤: 1. 安装 mmdc 确保…...
服务端错误的处理和web安全检测
文章目录 I 服务端错误的处理业务返回码处理前端处理业务返回码nginx处理http状态码II web安全检测区分服务器类型主机扫漏III 使用 micro_httpd 搭建一个PHP站点步骤下载micro_httpd 并安装它配置micro_httpd 来服务PHP文件I 服务端错误的处理 服务端发生错误时,返回给前端的…...
周记-Repeater中的children和item区别
Repeater中的children和item 在开发qml的界面时,用到了Repeater,表头需要根据Repeater是否存在显示的项,来进行显示。 repeater.children[i] repeater.itemAt(i)如果判断有没有存在显示的项,可以用下面的代码 function is_exis…...
JVM实战—8.如何分析jstat统计来定位GC
大纲 1.使用jstat了解线上系统的JVM运行状况 2.使用jmap和jhat了解线上系统的对象分布 3.如何分析JVM运行状况并合理优化 4.使用jstat分析模拟的BI系统JVM运行情况 5.使用jstat分析模拟的计算系统JVM运行情况 6.问题汇总 1.使用jstat了解线上系统的JVM运行状况 (1)JVM的…...
halcon三维点云数据处理(五)创建代表工具和机器人底座的3D模型
目录 一、gen_robot_tool_and_base_object_model_3d 函数调用二、gen_arrow_object_model_3d 函数调用 首先说明一下这部分代码在find_box_3d这个例程中,非常好用的一个坐标系生成函数。 一、gen_robot_tool_and_base_object_model_3d 函数调用 RobotToolSize : 0.…...
React Router 向路由组件传state参数浏览器回退历史页面显示效果问题
昨天在看尚硅谷张天禹老师讲的 React教程p90,老师讲到 React路由的 replace模式和push模式,老师的演示效果与自己本地操作不太一样。 老师的效果:点击查看消息1,消息2,消息3 再点回退,可以依次查看到 消息…...
LabVIEW四旋翼飞行器姿态监测系统
四旋翼飞行器姿态监测系统是一个集成了高度、速度、俯仰角与滚转角数据采集与分析的系统,提高飞行器在复杂环境中的操作精确度与安全性。系统利用LabVIEW平台与硬件传感器相结合,实现实时数据处理与显示,有效地提升了四旋翼飞行器的监测与控制…...
HTML——66.单选框
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>单选框</title></head><body><!--input元素的type属性:(必须要有)--> <!--单选框:(如所住省会,性别选择&…...
av1学习笔记(二):sequence_header_obu
av1学习笔记(二):sequence_header_obu 目录 av1学习笔记(二):sequence_header_obu1,图片的编解码方式1.1 seq_profile:1.2 still_picture1.3 reduced_still_picture_header1.4 编解码图像的宽高…...
嵌入式驱动开发详解8(阻塞/非阻塞/异步通信)
文章目录 前言阻塞非阻塞异步通知后续 前言 首先来回顾一下“中断”,中断是处理器提供的一种异步机制,我们配置好中断以后就 可以让处理器去处理其他的事情了,当中断发生以后会触发我们事先设置好的中断服务函数, 在中断服务函数…...
CSS进阶和SASS
目录 一、CSS进阶 1.1、CSS变量 1.2、CSS属性值的计算过程 1.3、做杯咖啡 1.4、下划线动画 1.5、CSS中的混合模式(Blending) 二、SASS 2.1、Sass的颜色函数 2.2、Sass的扩展(extend)和占位符(%)、混合(Mixin) 2.3、Sass的数学函数 2.4、Sass的模块化开发 2.5、Sass…...
求交错序列前N项和(PTA)C语言
本题要求编写程序,计算交错序列 1-2/33/5-4/75/9-6/11... 的前N项之和。 输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中输出部分和的值,结果保留三位小数。 输入样例: 5输出样例: 0.917 代码: #include<stdio.h&g…...
【Delphi】创建COM服务器供浏览器(WebView)使用的操作步骤
首先创建一个VCL程序在程序的主界面放置WebView浏览器控件新增Automation Object(ActiveX 页面中),重点,注意WebView只支持IDisptcher接口然后根据这个提示实现实现其函数功能在浏览器中众注册: Delphi程序 procedure …...
Spring Security(maven项目) 3.0.2.3版本
前言 通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往复以至无穷&a…...
如何删除 Docker 中的悬虚镜像?
在 Docker 中,悬虚镜像(Dangling Images)是指那些没有 标签 且没有被任何容器使用的镜像。这些镜像通常是由于构建过程中生成的中间层镜像或未正确清理的镜像残留。删除悬虚镜像可以释放磁盘空间并保持 Docker 环境的整洁。 1. 列出悬虚镜像…...
【JMeter】配置元件Config Element
1.配置元件 作用: 通用接口配置,协议,IP, 端口等,减少重复工作量 元件的分类 HTTP Request Defaults即HTTP请求默认值 作用: 可以配置成通用请求行的信息,可复用 JDBC Co…...
【Vue】分享一个快速入门的前端框架以及如何搭建
先上效果图: 登录 菜单: 下载地址: 链接:https://pan.baidu.com/s/1m-ZlBARWU6_2n8jZil_RAQ 提取码:ui20 … 主要是可以自定义设置token,更改后端请求地址较为方便。 应用设置: 登录与token设置: 在这里设置不用登录,可以请求的接口: request.js i…...
搭建开源版Ceph分布式存储
系统:Rocky8.6 三台2H4G 三块10G的硬盘的虚拟机 node1 192.168.2.101 node2 192.168.2.102 node3 192.168.2.103 三台虚拟机环境准备 1、配置主机名和IP的映射关系 2、关闭selinux和firewalld防火墙 3、配置时间同步且所有节点chronyd服务开机自启 1、配置主机名和…...
运动相机拍摄的视频打不开怎么办
3-10 GoPro和大疆DJI运动相机的特点,小巧、高清、续航长、拍摄稳定,很多人会在一些重要场合用来拍摄视频,比如可以用来拿在手里拍摄快速运动中的人等等。 但是毕竟是电子产品,有时候是会出点问题的,比如意外断电、摔重…...
信号处理-消除趋势项
matlab 版本 python 版本 import numpy as np import matplotlib.pyplot as plt from matplotlib import rcParams# 设置中文字体 rcParams[font.sans-serif] [SimHei] # 设置默认字体为黑体 rcParams[axes.unicode_minus] False # 解决负号显示问题def compute_time(n, f…...
民宿酒店预订系统小程序+uniapp全开源+搭建教程
一.介绍 一.系统介绍 基于ThinkPHPuniappuView开发的多门店民宿酒店预订管理系统,快速部署属于自己民宿酒店的预订小程序,包含预订、退房、WIFI连接、吐槽、周边信息等功能。提供全部无加密源代码,支持私有化部署。 二.搭建环境 系统环境…...
Java(1)入门基础
1. Java简介 1.1 什么是Java Java 是一款由Sun Microsystems公司(现为甲骨文公司Oracle Corporation的一部分)的James Gosling及其团队在1995年发布的高级编程语言。同时,Java 是一种面向对象的语言,这意味着它允许开发者通过创…...
大风车excel:怎么把题库导入excel?题库导入excel
高效管理试题库:如何批量导入试题到 Excel? 在教育培训、学校管理以及在线学习平台中,试题库的管理是核心工作之一。如何快速、准确地将试题导入到 Excel 表格中,成为许多教育工作者和开发者的迫切需求。本文将围绕“题库导入 Ex…...
rabbitmq——岁月云实战笔记
1 rabbitmq设计 生产者并不是直接将消息投递到queue,而是发送给exchange,由exchange根据type的规则来选定投递的queue,这样消息设计在生产者和消费者就实现解耦。 rabbitmq会给没有type预定义一些exchage,而实际我们却应该使用自己…...
更改IP地址能提高網路速度嗎?
IP地址是由ISP分配給連接設備的唯一數字字串,允許設備與互聯網上的網站,伺服器和其他設備進行通信。因此,IP地址是訪問互聯網的基本條件之一。 IP 地址如何工作? 線上流覽時,網路請求都會使用IP地址從設備發送&#…...
Backend - C# asp .net core API(使用swagger)
目录 1. 安装Swagger组件 2. 查看swagger套件(包) 3. 配置Swagger中间件(Swagger服务) 4. 启动Swagger中间件 5. 接口文档配置为项目首页 6. swagger中的接口添加注释 1. 安装Swagger组件 工具栏“工具” > NuGet套件管理员 > 管理方案的NuGet套件…...
linux系统(ubuntu,uos等)连接鸿蒙next(mate60)设备
以前在linux上是用adb连接,现在升级 到了鸿蒙next,adb就不好用了。得用Hdc来了,在windows上安装了hisuit用的好好的,但是到了linux(ubuntu2204)下载安装了 下载中心 | 华为开发者联盟-HarmonyOS开发者官网,共建鸿蒙生…...
Unity-Mirror网络框架-从入门到精通之网络组件介绍
文章目录 前言网络组件Network AnimatorNetwork AuthenticatorNetwork DiscoveryNetwork IdentityNetwork ManagerNetwork Manager HUDNetwork Ping DisplayNetwork RigidbodyNetwork Room ManagerNetwork Room PlayerNetwork Start PositionNetwork StatisticsNetwork Transfo…...
nginx反向代理和负载均衡
nginx反向代理优点: 提高访问速度进行负载均衡保证后端服务安全(将后端放到局域网) 反向代理配置方式: nginx 负载均衡配置:...
Linux驱动开发学习准备(Linux内核源码添加到工程-Workspace)
Linux内核源码添加到VsCode工程 下载Linux-4.9.88源码: 没有处理同名文件的压缩包: https://pan.baidu.com/s/1yjIBXmxG9pwP0aOhW8VAVQ?pwde9cv 已把同名文件中以大写命名的文件加上_2后缀的压缩包: https://pan.baidu.com/s/1RIRRUllYFn2…...
2025.01.02 一月 | 充分地接受生活本身
一月 | 充分地接受生活本身 2025.01.02 吕方伊 课程导读 迎上去,抛却伤悲,放下消沉,坦然承载生命赋予的所有喜悦与不确定,真诚地拥抱最本真的自己。 英文原文 ▍今日一句 In order to understand the world, one has to turn…...
开源模型应用落地-qwen2-7b-instruct-LoRA微调合并-ms-swift-单机单卡-V100(十三)
一、前言 本篇文章将使用ms-swift去合并微调后的模型权重,通过阅读本文,您将能够更好地掌握这些关键技术,理解其中的关键技术要点,并应用于自己的项目中。 二、术语介绍 2.1. LoRA微调 LoRA (Low-Rank Adaptation) 用于微调大型语言模型 (LLM)。 是一种有效的自适应策略,…...
30、论文阅读:基于小波的傅里叶信息交互与频率扩散调整的水下图像恢复
Wavelet-based Fourier Information Interaction with Frequency Diffusion Adjustment for Underwater Image Restoration 摘要介绍相关工作水下图像增强扩散模型 论文方法整体架构离散小波变换与傅里叶变换频率初步增强Wide Transformer BlockSpatial-Frequency Fusion Block…...
uniapp H5页面实现懒加载
在 uniapp 中,要在小的 view 内实现列表懒加载,可以通过以下步骤来实现: 使用 scroll-view 组件来创建一个可滚动的区域。在 scroll-view内 部放置一个list组件,用于显示数据列表。监听 scroll-view 的滚动事件,当滚动…...
Linux(Centos 7.6)命令详解:mkdir
1.命令作用 如果目录还不存在,则创建目录(Create the DIRECTORY, if they do not already exist.) 2.命令语法 Usage: mkdir [OPTION]... DIRECTORY... 3.参数详解 OPTION: -m, --modeMODE,创建新目录同时设置权限模式-p, --parents,创…...
Freemarker模板进行判空
文章目录 freemarker判断对象是否为null使用 ?? 操作符使用 ?has_content 内建函数直接使用 ! 操作符取反 freemarker判断列表是否为空 freemarker判断对象是否为null 在 FreeMarker 模板引擎中,你可以使用内建的指令和条件判断来检测一个对象是否为 null。Free…...
20250103在Ubuntu20.04.5的Android Studio 2024.2.1.12中跑通Hello World
20250103在Ubuntu20.04.5的Android Studio 2024.2.1.12中跑通Hello World 2025/1/3 14:06 百度:android studio helloworld android studio hello world kotlin helloword kotlin 串口 no run configurations added android studio no run configurations added 1、…...
Infineon PSoC 4 CapSense ModusToolbox IDE - 系统生态篇
本文档说明了 ModusToolbox 软体环境的 4 个层面,该环境为 CapSense 设备和生态系统提供支援。本文是 Infineon PSoC 4 CapSense ModusToolbox IDE-系统介绍的延伸篇 (Infineon PSoC 4 CapSense ModusToolbox IDE -系统介绍篇 - 大大通(简体站))。 什么是ModusToolb…...
Backend - EF Core(C# 操作数据库 DB)
目录 一、EF Core 1. 使用的ORM框架(对象关系映射) 2. EFCore 常见两种模式 3. EFCore 提供程序 二、 EF 操作数据库(Code First) 1. 下载NuGet插件 2.创建模型类文件 3.创建DBContext文件 4.Programs.cs文件 5.appsettings.Devel…...
ETL处理工具Kettle入门
1. Kettle简介 Kettle(现已更名为Pentaho Data Integration,简称PDI)是一个开源的ETL工具,能够进行数据的抽取(Extract)、转换(Transform)和加载(Load)。它是…...
排序算法的实现(插入,希尔,选择,冒泡,堆排,快排)
目录 1.选择排序 2.冒泡排序 3.堆排序 4.插入排序 5.希尔排序 6.快排 6.1快排的优化 6.2快排(双指针法) 6.3快排(非递归) 7.归并排序 7.1归并非递归 8.计数排序 1.选择排序 对n个元素进行选择排序,我们可以…...
【微服务】5、服务保护 Sentinel
Sentinel学习内容概述 Sentinel简介与结构 Sentinel是Spring Cloud Alibaba的组件,由阿里巴巴开源,用于服务流量控制和保护。其内部核心库(客户端)包含限流、熔断等功能,微服务引入该库后只需配置规则。规则配置方式有…...
C 语言函数指针 (Pointers to Functions, Function Pointers)
C 语言函数指针 {Pointers to Functions, Function Pointers} 1. Pointers to Functions (函数指针)2. Function Pointers (函数指针)2.1. Declaring Function Pointers2.2. Assigning Function Pointers2.3. Calling Function Pointers 3. Jump Tables (转移表)References 1. …...
Mesa llvmpipe和softpipe对比
Mesa 后端性能分析:LLVM vs Software Pipe 当调试没有显卡的时候,可以使用cpu软件模拟的mesa-3d,后端采用kms_swrast_dri.so,发现管线使用llvmpipe的速度明显优于softpipe; 背景介绍 Mesa 是一个开源的图形库…...
【Spiffo】排障:VsCode报错“过程试图写入的管道不存在”(网络环境正常且地址正常的情况下依然出现)
摘要: VsCode使用remote-ssh报错nstall terminal quit with output: 过程试图写入的管道不存在,且输出类似下图的信息 一般来说这种情况更可能是网络环境出了问题,那连不上自不必多说,这里想讨论一种特殊情况。 有一种可能性&…...
Python图形界面(GUI)Tkinter笔记(二十一):Messagebox信息提示功能控件
messagebox 就像是 tkinter 库里的一个好帮手,它能帮你弹出各种各样的消息框给用户看。这些消息框可以告诉用户很多东西,比如提示、警告或者错误信息之类的。在 tkinter 库里,messagebox 这个模块有很多不同的函数,每个函数都能弹出一种特定的消息框。用这些函数,开发者可…...
KUKA机器人如何修改程序并下载到机器人控制器中?
KUKA机器人如何修改程序并下载到机器人控制器中? 如下图所示,首先将使用的网卡的IP地址设置为自动获得, 打开workvisual软件,点击搜索,正常情况下可以搜索到项目文件,选中后双击进入, 如下图所示,此时,workvisual会自动从机器人控制器中下载项目文件到电脑上,耐心等待…...