从零学习Linux操作系统 第二十五部分 文本处理工具

一、grep命令的基本使用方法及常用参数介绍

grep [全称:Globally search a Regular Expression and Print 全局搜索正则表达式并打印 ]

grep 命令格式

grep 匹配条件 处理文件

grep root passwd过滤root关键字
grep -i root passwd后略大小写
grep -E “<root” passwdroot字符之前不能有字符
grep -E “root>” passwdroot字符之后不能有字符
grep -数字显示过滤行以及上面几行和下面几行
grep -n显示匹配的行所在行号
grep -A显示过滤行以及下面几行
grep -B显示过滤行以及上面几行
grep -v反向过滤

(egrep = grep -E)
在这里插入图片描述

在这里插入图片描述

二、greo命令匹配字符个数的规则

grep 搜索字符数量匹配规则

^westos以westos开有
westos$以westos结尾
w…sw开头s结尾中间4个任意字符
…ss结尾前面5个任意字符
*字符出现任意
?0到1次
+1次到任意次
{n}n次
{m,n}m到n次
{0,n}0-n次
{m,}最少m次
(lee){2}lee字符串出现2次

在这里插入图片描述
grep 脚本代码
要求,统计系统当中能够被操作者使用的用户个数

在这里插入图片描述
用grep过滤出 /etc/passwd 文件中以bash或sh结尾的行(并且前面不能带字符),再用管道符总结多少行

三、sed命令的使用方法

开启sed流编辑器以后,它会把我们要处理对象的所有内容加载到内存的模式空间里面,然后逐行处理,符合条件的行会进行操作,不符合条件行的直接显示

sed 命令格式

命令格式:
sed 参数 命令 处理对象
sed 参数 处理对象 -f 处理规则文件

p显示
sed -n 5p显示第五行
sed -n 3,5p显示3到5行
sed -ne "3p;5p显示3和5行
sed -ne 1,5p1-5行
sed -ne ‘5,$p’5到最后以行
sed -n ‘/^#/p’显示以#开头的行

在这里插入图片描述

d删除
sed 5d删除第五行
sed ‘/^#/d’ fstab把#开头的行删除
sed ‘/^UUID/!d’ fstab除了UUID以外的行都删除

在这里插入图片描述

a添加
sed -e ‘2a hello westsos’第二行后添加hello westos
sed -e ‘$a hello westos’最后一行后面添加 hellowestos
sed -e ‘/^#/a hello westos’#开头的行每一行后面都加 hello westos
w把符合的行写到指定文件中
sed ‘/^UUID/w westofile’ westos把westos中UUID开头的行写入westosfile中
i插入
sed ‘5ihello westos’在第五行前面插入 hello westos
r整合文件
sed ‘5r 文件2’ 文件1将文件2整合 加到文件1第五行后面

替换
sed ‘s/:/###/g’ passwd 全文的 : 替换为###

s表示每一行 g表示每一列

也可以将引号以内的规则写成文件
vim rule

在这里插入图片描述
然后输入命令
sed -f 策略文件 处理的文件
sed -f rule fstab
在这里插入图片描述

四、awk报告生成器的用法

awk -F 分隔符 BEGIN{ }{ }END{ } FILENAME

生成第一列报告
awk -F : ‘{print $1}’ passwd

-F表示指定分隔符

$0 #所有的列
$1 #第一列
$2 #第二列
$3 #第三列

在这里插入图片描述
还可与加上数据的过滤
以root开头的行
awk -F : ‘/^root/{print $0}’ passwd

在这里插入图片描述

增添的参数

/条件1|条件2/ ## 条件1或者条件2
/条件1/||/条件2/ ##条件1或者条件2
/条件1/&&/条件2/ ##条件1并且条件2

| / || 表示或者
&&表示并且

NR #行数
NF #列数
在这里插入图片描述

BEGIN 表示动作开始前做什么

awk -F : ‘BEGIN{print ‘start’}/bash$/{print $0}’ passwd
打印start关键字
在这里插入图片描述
westos #westos变量值
“westos” #westos字符串

在这里插入图片描述
统计以bash结尾的行数
在这里插入图片描述

统计第六行为home
awk -F : ‘$6~/home/{ print $0}’ passwd

在这里插入图片描述
统计第六行不为home
在这里插入图片描述

书写抓取ip需求
在这里插入图片描述
输入ifconfig ens160 命令 是查询ens160网卡的命令
用管道符 | 导出来
再用awk生成报告信息
/inet>/查找inet的信息并且inet是后面不能带字符的
$2 表示第二列
print表示显示出来

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

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

相关文章

鲜花销售|鲜花销售小程序|基于微信小程序的鲜花销售系统设计与实现(源码+数据库+文档)

鲜花销售小程序目录 目录 基于微信小程序的鲜花销售系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、前台功能模块 2、后台功能模块 (1) 后台登录 (2) 管理员功能模块 用户管理 商家管理 鲜花信息管理 鲜花分类管理 管理员管理 系统管理 (3) 商家功…

大数据时代效率革新:数字化管理助力企业迈向全新高度-亿发

在大数据时代的浪潮中&#xff0c;数字化管理成为企业不可或缺的发展趋势。以信息技术为支撑&#xff0c;数字化管理为企业带来了前所未有的机遇和挑战。让我们一起探讨&#xff0c;在这个数字时代&#xff0c;数字化管理如何引领企业走向更加高效、智能的未来。 1. 数据驱动决…

【Java程序设计】【C00243】基于Springboot的社区医院管理系统(有论文)

基于Springboot的社区医院管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的社区医院管理服务系统 本系统分为系统功能模块、管理员功能模块、用户功能模块以及医生功能模块。 系统功能模块&#xff1a;社…

Android Camera2 API 后台服务

最近在搞CameraAPP需要将Camera2弄成一个后台服务&#xff0c;发现跟预览的Activity没多大变动只是加了Service&#xff0c;和一些简单的修改。之前的公司也用到Camera2&#xff0c;发现用到的时候还是蛮多的所以记录一下&#xff0c;代码在文章末尾 camera2的结构如下&#x…

〔57页成品论文〕2024美赛E题完整1~4小问解答+配套数据代码+后续保姆级答疑服务

基于 SVM 模型的财产保险可持续性分析 摘 要 根据最新数据&#xff0c;越来越多地区的极端天气现象逐渐增多&#xff0c;保险业面临的困境&#xff1a;保险公 司的利润危机以及财产所有者的支付能力问题越发明显。本文基于 SVM 模型对不同地区 进行分类&#xff0c;为相应部门在…

【Nginx】nginx入门

文章目录 一、Web服务器二、Nginx三、Nginx的作用Web服务器正向代理反向代理 四、CentOS上安装Nginx(以CentOS 7.9为例) 一、Web服务器 Web 服务器&#xff0c;一般是指“网站服务器”&#xff0c;是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客户…

【达梦数据库】一种另辟蹊径免密登录方式

最近对在鼓捣disql 希望可以自定义一些好玩的东西&#xff0c;来更快捷的实现登录&#xff0c;本方案借助于达梦提供的外部加密的密码文件&#xff0c;在登录的时候通过读取密码文件来实现代填用户名和密码。这种代填密码的方式在其他的软件中也有广泛的应用 概述 具体实现分两…

简单使用阿里云OSS对象存储

首先我们先去阿里云控制台开通oss对象存储&#xff08;阿里云登录 - 欢迎登录阿里云&#xff0c;安全稳定的云计算服务平台&#xff09; 这篇文件是借鉴至&#xff08;教你三分钟上手阿里云OOS上传操作_阿里云定时上传怎么使用-CSDN博客&#xff09;的&#xff0c;源码也给了&a…

2024 RTE行业(实时互动行业)人才发展学习总结

解决方案 人才画像 开发者人才素质要求&#xff1a; 具备多个领域的技术知识注重团队合作&#xff0c;具备协作能力以用户为导向的用户体验意识具备创新思维和解决问题的能力需快速响应行业变化和持续的学习能力具备项目管理能力 学习和吸收新知识的渠道 RTE人才分类

前端vue/react项目压缩图片工具@yireen/squoosh-browser

想要在前端项目中压缩图片&#xff0c;然后再上传到后端保存&#xff0c;就需要一个压缩工具的帮助&#xff0c;暂时有两个依赖库可以选择&#xff1a;image-conversion和yireen/squoosh-browser&#xff0c;看了官方仓库地址和更新时间等详情&#xff0c;发现还是yireen/squoo…

计算机硬件基础知识

mos管 电阻 电容 MOS管的功能&#xff1a; 开关功能&#xff1a;MOS管可以用作开关&#xff0c;通过控制栅极电压来控制电流的通断。当栅极电压为高电平时&#xff0c;MOS管导通&#xff0c;允许电流通过&#xff1b;当栅极电压为低电平时&#xff0c;MOS管截止&#xff0c;阻止…

LCD——与LCD有关的基础知识

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 1、s5pv210 LCD编程原理 - biaohc - 博客园 2、LCD常用接口原理_5组信号线是几位-CSDN博客 一、LCD简介 1、LCD是什么&#xff1f; LCD&#xff08;Liquid Crystal Display&#xff09;…

LeetCode 每日一题Day 54 - 61

2859. 计算 K 置位下标对应元素的和 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 请你用整数形式返回 nums 中的特定元素之 和 &#xff0c;这些特定元素满足&#xff1a;其对应下标的二进制表示中恰存在 k 个置位。 整数的二进制表示中的 1 就是这个整数的 置位…

【MATLAB第96期】基于MATLAB的SVM(线性)、SVM(高斯)、决策树、KNN等机器学习算法回归及分类Boost集成学习模型(含不同模型权重)

【MATLAB第96期】基于MATLAB的SVM(线性)、SVM(高斯)、决策树、KNN等机器学习算法回归及分类Boost集成学习模型&#xff08;含不同模型权重&#xff09; 引言 文章使用Boost集成学习方法&#xff0c;对多个机器学习模型进行融合&#xff0c;并通过算法得到对应权重。 因暂时精…

springboot整合Sa-Token实现登录认证和权限校验(万字长文)

目前在国内的后端开发中&#xff0c;常用的安全框架有spring security、shiro。现在&#xff0c;介绍一款由国人开发的安全框架Sa-Token。这个框架完全由国人开发&#xff0c;所提供的Api文档和一些设置都是比较符合国人的开发习惯的&#xff0c;本次就来介绍一下如何在spring …

计算机设计大赛 深度学习 大数据 股票预测系统 - python lstm

文章目录 0 前言1 课题意义1.1 股票预测主流方法 2 什么是LSTM2.1 循环神经网络2.1 LSTM诞生 2 如何用LSTM做股票预测2.1 算法构建流程2.2 部分代码 3 实现效果3.1 数据3.2 预测结果项目运行展示开发环境数据获取 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天…

【gcc】webrtc发送侧计算 丢包率

大神的分析 : 提到: 每当收到cc-feedback或者收到RR-report的时候就能统计出丢包率,在cc-controller中就会调用SendSideBandwidthEstimation::UpdatePacketsLost()去更新丢包率,同时进行码率预估 G:\CDN\rtcCli\m98\src\modules\congestion_controller\goog_cc\send_side_b…

计算机网络_1.6.1 常见的三种计算机网络体系结构

1.6.1 常见的三种计算机网络体系结构 1、OSI&#xff08;七层协议&#xff09;标准失败的原因2、TCP/IP参考模型3、三种网络体系结构对比 笔记来源&#xff1a; B站 《深入浅出计算机网络》课程 1、OSI&#xff08;七层协议&#xff09;标准失败的原因 &#xff08;1&#xf…

filebeat采集中断与变慢问题分析

4、未采集的那段时间内无以下日志&#xff0c;这段时间内数据源正常&#xff0c;应能被正常采集到。 5、相关进程资源&#xff0c;服务器磁盘、cpu、内存无明显异常。 6、日志中断前有如下报错。 2022-02-15T15:22:22.2230800 INFO log/harvester.go:254 Harvester started fo…

Qt程序设计-右键菜单栏功能

本文讲解如何实现Qt右键菜单栏功能 创建窗体项目,本文给窗体添加右键菜单栏功能,包含最大化、最小化、退出,当然也可以给某个控件添加,操作相同。 选中窗体,右键-转到槽,打开对话框如下 选中图示的信号,进行添加 剩余的功能直接在代码中添加。 代码如下 #ifndef MA…
最新文章