Linux文本三剑客---awk经典案例

awk(是一种处理文本文件的应用程序,它依次处理文件的每一行,并读取里面的每一个字段。)

awk 包含几个特殊的内建变量(可直接用)如下所示:

1、获取根分区剩余大小

#可以使用df -h命令来查看所有已挂载的文件系统的磁盘空间使用情况

[root@node1 ~]# df -h | awk '/\/$/ {print $4}'

#在AWK中,NF是一个内置变量,代表当前记录的字段数

[root@node1 ~]# df -h | awk '$NF=="/" {print $4}'

2、获取当前机器ip地址

[root@node1 ~]# ifconfig ens160 | awk '/inet /'

[root@node1 ~]# ifconfig ens160 | awk '/inet / {print $2}'

3、统计出apache的access.log中访问量最多的5个IP

#在Linux中,uniq -c命令用于计算和报告重复行的数量。-c选项告诉uniq命令在输出中包含每行的重复次数。

[root@node1 ~]# awk '{print $1'} /var/log/httpd/access_log | sort |uniq -c

4、打印/etc/passwd中UID大于500的用户名和uid

#在AWK中,-F选项用于指定输入字段的分隔符。默认情况下,AWK使用空格或制表符作为字段分隔符。但是,你可以使用-F选项来更

改这个分隔符。

[root@node1 ~]# awk -F: '$3>500 {print $1, $3}' /etc/passwd

5、/etc/passwd 中匹配包含root或net或ucp的任意行

[root@node1 ~]# awk '/root|net|ucp/' /etc/passwd

6、处理以下文件内容,将域名取出并根据域名进行计数排序处理(百度搜狐面试题)

[root@node1 ~]# cat test.txt

[root@node1 ~]# awk -F/ '{print $3}' test.txt | sort |uniq -c

7、请打印出/etc/passwd 第一个域,并且在第一个域所有的内容前面加上“用户帐号:”

[root@node1 ~]# awk -F: 'BEGIN{print "用户账号:"}{print $1}' /etc/passwd

8、请打印第一列,并且打印头部信息为:这个是系统用户,打印尾部信息为:"================"

[root@node1 ~]# awk -F: 'BEGIN{print "这个是系统用户"}{print $1}END{print "================"}' /etc/passwd

9、请打印出第一列匹配daemon的信息.

[root@node1 ~]# awk -F: '/^daemon/ {print $0}' /etc/passwd

[root@node1 ~]# awk -F: '$1~/daemon/ {print $0}' /etc/passwd

10、请将/etc/passwd 中的root替换成gongda,记住是临时替换输出屏幕看到效果即可.

[root@node1 ~]# sed -n 's/root/gongda/g p' /etc/passwd

11、请匹配passwd最后一段域bash结尾的信息,有多少条

#在Linux中,wc -l命令用于计算文件中的行数。-l选项告诉wc命令我们想要计算的是行数。

[root@node1 ~]#  awk '/bash$/' /etc/passwd | wc -l

12、请同时匹配passwd文件中,带mail或bash的关键字的信息

[root@node1 ~]# awk '/mail|bash/'  /etc/passwd

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OceanBase与新加坡南洋理工大学合作,推进机器学习与数据库技术融合

1月31日,OceanBase和新加坡南洋理工大学(以下简称“南洋理工大学”)签署合作协议,探索数据库智能化的技术创新。合作将以OceanBase 4.0 小鱼(Paetica)为研究基础,推进机器学习与数据库技术融合。…

力扣hot100 数据流的中位数 大小根堆

Problem: 295. 数据流的中位数 文章目录 思路复杂度💖 Code 思路 👨‍🏫 参考 大根堆维护较小值(堆顶即中位数),小根堆维护较大值(堆顶可能是中位数之一)维护小堆长度较长&#x…

初谈C++:缺省参数函数重载

文章目录 缺省参数概述缺省参数的分类全缺省半缺省参数 注意 函数重载概述重载类型不同参数类型不同参数个数不同参数类型顺序不同 C支持函数重载的原理 缺省参数 概述 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则…

TI AM5708工业派

文章目录 一、TI AM5708工业派简介二、主要使用的功能三、J12 扩展接口四、NFS代码实现总结 一、TI AM5708工业派简介 TI AM5708工业派是基于美国德州仪器(TI)的AM5708处理器所开发的智能硬件工业派,主要面向工业生产、图像处理、智能人机交…

Java面试题之 IO(四)

Java面试题之 IO(四) 文章目录 Java面试题之 IO(四)随机访问流 文章来自Java Guide 用于学习如有侵权,立即删除 随机访问流 这里要介绍的随机访问流指的是支持随意跳转到文件的任意位置进行读写的 RandomAccessFile 。…

HTTPS实现原理

1 为什么需要HTTPS? HTTP 在进行数据传输时采用明文传输,数据包中的用户信息等隐私数据可以被第三方通过抓包等方式窃取,是不安全的。 如果客户端使用 MD5 加密算法对数据进行加密,由于加密后的结果是不可逆的,服务器…

LeetCode刷题日志-117填充每个节点的下一个右侧指针II

二叉树的题目,我认为二叉树必须要掌握递归的三种遍历算法,以及层序遍历算法才能做二叉树题目。这道题目我的想法是: 因为在二叉树每一层中,next指针指向的是的当前节点的右边的节点,所以,使用层序遍历&…

软件价值3-A*算法寻路

A*算法(A-star算法)是一种启发式搜索算法,主要用于在图或网络中找到从起始节点到目标节点的最佳路径。它结合了Dijkstra算法的广度优先搜索和贪婪最优优先搜索的特点,通过估算从起始节点到目标节点的代价来指导搜索方向。 A*算法…

数据恢复之道:DevicData-P-XXXXXXXX勒索病毒的预防与恢复攻略

尊敬的读者: 随着科技的发展,网络安全问题愈发突出,而勒索病毒作为其中的一种恶意软件,正不断演进成为威胁用户数据安全的严重问题。本文将深入介绍.DevicData-P-XXXXXXXX勒索病毒的特征,提供被感染文件的恢复方法&am…

【Latex】 最全的Latex公式常用符号和文本颜色用法汇总

每次在CSDN写latex公式都没有一个很全的博客能完全覆盖,本文争取汇总Latex使用过程中用到的所有符号和技巧,包括:二元运算与关系符号、大型运算符、数学符号、特殊字符、希腊字母、各种括号和矩阵的编码等。 注意,其他排版主要用…

ov通配符ssl证书申请时间长吗

通配符SSL证书是SSL数字证书的一种,可以同时保护主域名以及同一个域名下的所有子域名。用户在申请通配符SSL证书时需要CA认证机构对提交的信息进行审核,审核时间根据证书的品牌、类型而变化。今天就随SSL盾小编了解OV通配符SSL证书申请时间。 1.通配符S…

深入Pyecharts:桑基图绘制与炫酷效果实战【第38篇—python:桑基图】

文章目录 深入Pyecharts:桑基图绘制与炫酷效果实战桑基图简介安装 Pyecharts简单桑基图的绘制自定义桑基图的炫酷效果高级样式定制 多组数据桑基图的展示动态桑基图的绘制结合真实数据的桑基图案例导出和分享进阶应用:桑基图与其他图表的组合总结 深入Py…

知识点积累系列(四)Kubernetes篇【持续更新】

云原生学习路线导航页(持续更新中) 本文是 知识点积累 系列文章的第四篇,记录日常学习中遇到的 Kubernetes 相关的知识点 1.Kubernetes琐碎知识点 1.1.为什么要有annotations annotation中除了能够记录一些额外信息,还可以解决k…

几种常见的vcruntime140_1.dll无法继续执行代码弹窗错误解决办法

vcruntime140_1.dll是Windows操作系统中的一个动态链接库文件,用于支持C程序和应用程序的运行,有时可能会遇到以下错误信息:“vcruntime140_1.dll无法继续执行代码”。本文将详细介绍这个常见问题的原因,并提供相应的解决办法。 一…

安装 vant-ui 实现底部导航栏 Tabbar

本例子使用vue3 介绍 vant-ui 地址:介绍 - Vant 4 (vant-ui.github.io) Vant 是一个轻量、可定制的移动端组件库 安装 通过 npm 安装: # Vue 3 项目,安装最新版 Vant npm i vant # Vue 2 项目,安装 Vant 2 npm i vantlatest-v…

Linux服务器根据服务端口号杀死对应服务

获取服务pid 输入命令 ss -tulnp | grep :16522输出 tcp 表示连接的类型是TCP。LISTEN 表示端口正在监听连接。第一个数字 0 是 Recv-Q(接收队列),表示当前接收队列中已由网络接收但还未被进程读取的数据的数量。第二个数字 128 是 Send-Q&…

使用moment实现数字转秒数和递进分钟和小时

使用moment实现数字转秒数和递进分钟和小时 效果图引用包js 功能:不满一分钟展示秒数,满一分钟展示分秒,满一小时展示时分秒 效果图 引用包 "moment": "^2.24.0", "moment-duration-format": "^2.3.2&q…

springboot+AOP+自定义注解+RBAC自定义操作权限管理01

springbootAOP自定义注解RBAC自定义操作权限管理01!今天 做了内容是该自定义权限管理系统的前奏。第一小节内容。搭建了一个基础的springboot项目,和数据库的三张表。 tb_user;tb_role;tb_roel_user。实现了一个基础的,用户和角色表的联动查询。为了后续…

uniapp如何安装uview

1.下载并导入插件 打开链接 uView2.0重磅发布,利剑出鞘,一统江湖 - DCloud 插件市场 没有的登录的就先登录 导入成功后,可见 2. 添加配置 main.js import uView from /uni_modules/uview-ui Vue.use(uView) uni.scss import /uni_module…

(M)UNITY三段攻击制作

三段攻击逻辑 基本逻辑: 人物点击攻击按钮进入攻击状态(bool isAttack) 在攻击状态下, 一旦设置的触发器(trigger attack)被触发,设置的计数器(int combo)查看目前攻击…
最新文章