shell脚本的awk续篇(粗糙版)

news2024/11/26 19:50:11

sleep 30 #这是睡眠时间

awk的精确筛选:

$n{><==}:对比数值

$n-"字符串"代表第n个字段包含某个字符串

$n!-"字符串"代表第n个字段不包含某个字符串

$n=="字符串" 代表第n个字段为某个字符串

$n!="字符串"代表第n个字段不为某个字符串

$NF:最后一个字段

实验:

如图所示:如果第七列不包含nologin打印第五列

答案:

实验:

如图所示:如果第五列是home而且最后一列是bin/bash,条件满足就答应第一列与最后一列

答案:

实验:如果最后一列非/bin/bash,就全部打印

实验:大于小于等于举例:

实验:加上if语句打印

awk的三元表达式:ps:这是一个面试题

-V赋值变量:

fs=:

-v

fs赋值给FS

实验:awk -F: '{print $1,$3}' 中间的:改成==。两种方式

数组的定义:ps:这只能按照下标输出,无法直接全部输出

因此用for循环实现全部打印

面试题:实验:用数组遍历进行去重以下文本内容

以下是awk必须掌握的知识点

awk的按行取列

awk -F:'{print $3}'

精确筛选

-v往参

数组去重

面试题:实验:将以下文本内容取第一列的单词内容,排查数字空格和.

面试题:实验:在 /var/log/messages 文件中的内容,取前两行,然后打印第一列和第四列

实验:df-h 统计磁盘的可用容量,且排除tmpfs,其他可用容量总和

答案:

实验:ls -l /etc/取文件总和多少M

答案:

实验:top -b -n 1

监控CUP内存,如果CPU使用超过80%,则告警

free -h

监控内存,使用量超过总量的80%告警

df -h

监控硬盘,监控根目录,已用超快90%告警

然后三个脚本写成函数库,用定时任务调用,每天早上8点20分执行一次,

实例引用 题目一:简单的日志分割 awk '{print $1, $7, $9}' /var/log/messages

在这个命令中,我们使用单引号将awk命令的操作包含起来。 $1、$7和$9是awk的内置变量,分别表示每行日志文件中的第1、第7和第9个字段。 通过使用print命令,我们将这些字段分别打印出来,以空格分隔。 最后,我们指定日志文件的路径/var/log/messages,awk会自动对文件中的每行进行处理并输出结果。

只分割前两行内容的第一个和第四个字段 awk 'NR<=2{print $1, $4}' /var/log/messages

题目二:取小数点几位和取整数 result=$(awk 'BEGIN{printf "%.2f", 2.3312.542}') #取小数点2位 result=$(awk 'BEGIN{printf "%.F", 2.3312.542}') # 不取小数点,只取整数

题目三:提取host.txt主机名后再放回host.txt文件 1 www.kgc.com 2 mail.kgc.com 3 ftp.kgc.com 4 linux.kgc.com 5 blog.kgc.com cat file.txt | awk -F '[ .]+' '{print $2}' >> host.txt

题目四:统计磁盘总共使用容量: df | tail -n +2 | grep -v tmpfs | awk '{sum+=$4} END{print "磁盘可用容量:"sum/1024/1024"G"}'

题目五:统计/etc下文件总大小 ls -l /etc | awk '/^-/{sum+=$5} END{print "文件总大小:"sum/1024"M"}'

题目六:CPU使用率 top -b -n 1 -b 告诉 top 以批处理模式运行,没有交互界面,这意味着它将输出结果到控制台一次,然后退出。 -n 1 指定 top 在退出之前应运行的迭代次数。在这种情况下,它只运行一次。 us 表示用户空间占用 CPU 百分比,sy 表示内核空间占用 CPU 百分比 [root@localhost network-scripts]# sum=$(top -b -n 1 | grep -w st |awk '{print $2+$4}') [root@localhost network-scripts]# echo $sum 3.1

题目七:统计内存: 监控硬盘: [root@localhost home]# df -h | grep -w centos-root | awk '{print $5}' | tr -d "%"

16% memory_used=$(free -m | grep "Mem:" |awk '{print $3 }')

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

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

相关文章

【教3妹学编程-算法题】2924. 找到冠军 II

3妹&#xff1a;2哥快看&#xff0c;我黑龙江的闺蜜给我发了一个她在打雪仗的视频&#xff0c;好大的雪啊&#xff0c;好欢乐。 2哥&#xff1a;什么&#xff0c;东北不是暴雪吗&#xff0c; 还可以打雪仗。 3妹 :是啊&#xff0c;可是雪停了就可以打雪仗了啊。 2哥&#xff1a…

Netty入门指南之NIO Channel详解

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言Channe…

【1107】

interface是面向对象编程语言中接口操作的关键字&#xff0c;功能是把所需成员组合起来&#xff0c;用来封装一定功能的集合。 它好比一个模板&#xff0c;在其中定义了对象必须实现的成员&#xff0c;通过类或结构来实现它。 接口不能直接实例化&#xff0c;即ICount icnew iC…

回归模型原理总结及代码实现

前言 本文将介绍回归模型算法&#xff0c;并总结了一些常用的除线性回归模型之外的模型&#xff0c;其中包括一些单模型及集成学习器。 保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归、人工神经网络、…

openGauss Meetup(合肥站)精彩回顾 | openGauss合肥用户组正式成立

由openGauss社区、天津南大通用数据技术股份有限公司联合主办的“openGauss Meetup • 合肥站”已于11月4日落下帷幕&#xff0c;此次活动邀请到数据库行业专家与行业同仁共同探讨数据库技术发展创新、数据库产业发展与落地、数据库周边工具构建、生态共建等内容&#xff0c;推…

IDEA项目下不显示target目录或者target目录不完整没有新添加的资源,idea隐藏target目录

文章目录 一、前言二、idea隐藏target目录2.1、idea隐藏target目录2.2、git提交时隐藏target目录 三、idea下显示target目录3.1、解决idea下不显示target目录问题3.2、target显示目录不完整 一、前言 在idea-2020.1.4版本下讲解idea怎么显示或隐藏target目录。 需要知道:如果…

执行mysql-community-libs-8.1.0-1.el8.x86_64.rpm报错依赖检测失败

目录 1.错误信息 2.解决方法 1.错误信息 我是在VMware虚拟机18上的Centos8上的&#xff0c;安装MySQL8.1.0&#xff0c;执行mysql-community-libs-8.1.0-1.el8.x86_64.rpm报错 [rootlocalhost mysql8.1.0]# rpm -ivh mysql-community-libs-8.1.0-1.el8.x86_64.rpm 警告&…

rvt文件发三维服务

一、所需工具 SuperMap iDesktop、Revit、SuperMap-Revit插件、SuperMap iServer。 二、操作流程 BIM数据发三维服务&#xff1a; 1、Revit中打开BIM数据&#xff0c;附加模块—UDB SuperMap Export。 2、打开SuperMap IDesktop&#xff0c;数据源—打开文件型数据源&…

Java入门篇 之 类与对象

本篇碎碎念&#xff1a;博主作为一个三本学生&#xff0c;庆幸自己上了个本科&#xff0c;但是在支付高昂学费的时候认识到&#xff0c;自己要好好学习&#xff0c;不好好学习&#xff0c;难道以后给人端盘子咩&#xff1b;无论是专科还是本科&#xff0c;都不可以自暴自弃&…

洛谷P2196 [NOIP1996 提高组] 挖地雷【动态规划思路分析】看完直接举一反三!

P2196 [NOIP1996 提高组] 挖地雷 前言题目题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 题目分析注意事项 代码后话额外测试用例样例输入 #2样例输出 #2 王婆卖瓜 题目来源 前言 我发现我是天才&#xff0c;只做了三道动态规划的类型题就感觉我已经炉火纯青了。大…

如何实现生产质量精细化管理?

导 读 ( 文/ 1528 ) 在现代制造业中&#xff0c;实现生产质量的精细化管理对企业的竞争力至关重要。本文将介绍三个关键步骤&#xff0c;包括建立全面质量管理体系、采用数据驱动的质量监控和实时反馈机制&#xff0c;以及持续改进和员工培训&#xff0c;帮助企业实现生产质量的…

[答疑]大老二和德州扑克-属性值没变,状态怎么变了

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 邬俊杰 2023-10-31 21:20 课上说状态是由属性值决定的&#xff0c;比如身高>170算高&#xff0c;某人身高175&#xff0c;算高。如果规则改了&#xff0c;身高>180算高&#xf…

即插即用篇 | YOLOv8 引入Super Token Sampling ViT | 《CVPR 2023 最新论文》

论文地址:https://arxiv.org/abs/2211.11167 代码地址:https://github.com/hhb072/STViT 视觉变换器已经在许多视觉任务中取得了令人印象深刻的性能。然而,它在捕捉浅层的局部特征时可能会受到高度冗余的影响。因此,引入了局部自注意力或早期卷积,这些方法牺牲了捕捉长距…

生产问题分析:批量执行慢,根据日志进行分析。

1.首先拿到日志&#xff0c;查看批量执行的时间段为36:58-42:24 2.截取时间段为36:58-42:24的日志内容。 3.从该批量的第一个代码看起&#xff0c;sql会打印在日志里&#xff0c;查找第一个sql&#xff0c;对照代码一个个看下去。 4.发现两个sql执行的时间间隔特别长&#xff1…

云尘 命令执行系列

第一题 system <?php include "flag.php";if (isset($_POST[cmd])) {system($_POST[cmd]); }show_source(__FILE__);代码如上 system($_POST[cmd]); POST请求发送一个名为 cmd 的参数&#xff0c;然后将该参数的值传递给系统命令执行函数 system()&#xff0c…

高并发下Redis缓存与数据库双写一致性问题原理分析和解决方案

目录 一、什么是缓存与数据库双写不一致性二、常见保证高并发下双写一致性方案2.1、延迟双删&#xff08;不可靠&#xff09;2.2、分布式读写锁&#xff08;可靠&#xff09;2.3、MQ异步消费&#xff08;不可靠&#xff09;2.4、订阅数据库变更日志&#xff08;不可靠&#xff…

2023年十大地推拉新接单平台和网推接单平台,都是一手单

2023年做拉新推广的地推人员&#xff0c;一定不要错过这十个接单平台&#xff0c;助你轻松找到一手单&#xff0c;这10个平台分别是&#xff1a; 主推&#xff1a;“聚量推客” 一手官签接单平台 一手官方邀请码 000000 1. 聚量推客&#xff1a; “聚量推客”汇聚了众多市场…

怎样选择适合自己的ITSM软件?

市场上ITSM解决方案琳琅满目&#xff0c;每种解决方案都有其优点和缺点。这使选择决策过程变得复杂&#xff0c;当组织机构决定投资ITSM软件时&#xff0c;很难如愿选择到一款最适合自己的帮助台软件。 而小编有一套系统的决策方法&#xff0c;可以帮助您简化评估过程&#xff…

Dart(一):Dart入门

Dart入门 Dart安装创建项目安装依赖&#xff08;以http为例&#xff09;依赖库查询地址添加依赖编写运行示例 dart常用命令引用核心库、自定义库、第三方库数据类型Numbers (int, double)Strings (String)Booleans (bool)Lists (List)Maps (Map)Sets (Set)Null (null)Records (…

Django初窥门径-自定义附件存储模型

前言 Django自带了一个名为FileField的字段&#xff0c;用于处理文件上传。然而&#xff0c;有时我们需要更多的控制权&#xff0c;例如定义文件的存储路径、文件名以及文件类型。在本篇文章中&#xff0c;我们将探讨如何自定义Django附件存储模型。 创建attachment应用 pyt…