RHCE---正则表达式

news2024/11/20 6:12:29

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结


前言


一. 文本搜索工具

  • grep是linux中一种强大的文件搜索过滤工具,可以按照正 则表达式检索文件内容,并把匹配的结果显示到屏幕上 (匹配的内容会标红)
  • grep可以在一个或多个文件中检索,如果条件 中包含了空格,需要使用双引号引起 工作结果:如果搜索成功则返回0状态码,否则为1状态码

格式:

grep   -参数   "条件" 文件名   

参数:
-i     忽略大小写
-c     统计匹配的行数
-v     取反,不显示匹配的行
-w 匹配单词
-E 等价于egrep,即启用扩展正则表达式
-n 显示行号
-rl 将指定目录内的文件打印
-A数字   匹配行及以下n行
-B数字   匹配行及以上n行
-C数字   匹配行及上下n行
-q 静默模式,没有任何内容输出,使用$?来判断是
否执行成功
-o     只显示匹配的内容

案列:

 案例:检索不能登录的账号名

[root@server ~]# grep -n "/sbin/nologin" /etc/passwd
#检索能登录的使用grep -vn
  •  #检索文件中包含sshd的行及以上5行
[root@timeserver ~]# grep -nB5 "sshd" /etc/passwd

  •  检索  文件系统信息中 / 目录 
[root@timeserver ~]# df -h | grep "/"

  •  #grep是能进行模糊匹配,精确匹配需要使用-w
#grep是能进行模糊匹配,精确匹配需要使用-w
[root@timeserver ~]# df -h | grep -w  "/"

  • #-o参数只显示匹配的内容
#-o参数只显示匹配的内容
[root@timeserver ~]# df -h | grep -wo  "/"
/

 二.正则表达式  

  •  在Shell脚本中,正则表达式是一种强大的文本处理工具,用于匹配、搜索和替换字符串

元字符 

元字符作用
.(点号)匹配任意一个字符
*匹配前面的字符0次或多次
+匹配前一个字符出现1次或多次。
?匹配前一个字符出现0次或1次。
^匹配字符串的开头。
$匹配字符串的结尾。
[]匹配字符[]集中的任意一个字符
[^]匹配除字符集中的任意一个字符以外的字符。
()表示一个子表达式,可以用于分组、捕获或引用。
|表示逻辑或,匹配两个或多个表达式中的任意一个。
\用于转义元字符或特殊字符

案例:[ab] : 检索包含a或包含b的行信息,[ ] 中只能表示一个内容

# 检索包含d或者D的行信息
[root@server ~]# grep -n [dD] /etc/passwd

案例:[^ ] : 根据关键字检索后反向显示(反向着色)

# 检索不包含字母o的行信息
[root@server ~]# grep -n [^o] /etc/passwd
# 检索不以r开头且包含oot的行信息
[root@server ~]# grep -n [^r]oot /etc/passwd

  •  [-] : 表示范围,如:[0-9] [a-z] [A-Z] [a-zA-Z]
# 检索包含7-9的行信息
[root@server ~]# grep -n [7-9] /etc/passwd

# 检索包含数字和字母的行信息
[root@server ~]# grep -n [0-9a-zA-Z] /etc/sos/sos.conf 
  •  ^行首与$行尾

    # 检索root开头的行信息
    [root@server ~]# grep -n ^root /etc/passwd
    

  •  检索以"[" 开头的行信息
# 检索以"[" 开头的行信息
[root@server ~]# grep -n "^\[" /etc/sos/sos.conf 

注意: 需要过滤元字符时需要加 / 进行转译,去除元字符在正则中的功能,变为普通字符

  • 检索空白行
[root@server ~]# grep -n "^$" /etc/sos/sos.conf
  •  # 检索以r开头或o开头或t开头,独立对待
[root@server ~]# grep -n ^[root] /etc/passwd
  •  点(.) 与星号(*)

  • # 检索以r开头t结尾中间只有2个字符的行信息  
[root@server ~]# grep -n r..t /etc/passwd
#..代表任意两个字符
  •  # 检索至少包含1个w字母的行信息
[root@server ~]# grep -n ww* /etc/passwd
#*会对左边的字符重复匹配0次或多次
#写两个ww为了防止*对左边的字符匹配0次

 扩展正则

?将前一项字符进行0次或者1次的重复匹配
+将前一项进行1次或者多次的重复匹配
(|)匹配|符号左边或者右边的字符
  •  使用扩展正则表达式是,需要添加参数grep -e 或 使用egrep
# 显示/etc/passwd 中以bash结尾的行信息
[root@server ~]# grep -n "bash$" /etc/passwd

 

 


总结

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

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

相关文章

[Python]Selenium-自动化测试

Selenium是一个web自动化测试的工具,在使用之前先在对应的项目添加工具包噢. 本文章主要简单的介绍了selenium对于自动化测试的使用 目录 添加浏览器驱动 get函数来到对应网站 驱动的定位 元素定位 id定位 class name定位 CSS定位 XPath定位 link text定位 定位一…

【如何去掉Unity点击运行时,Photon的警告弹窗】

如何去掉Unity点击运行时,Photon的警告弹窗 一、前言二、解决办法1、解决思路2、解决步骤 一、前言 我导入了Photon插件,但是我现在用不着,又不想将其删掉,Photon的配置也没有弄,导致现在一运行Unity,就会…

python re 使用非捕获组来忽略第一个value的匹配结果

import retext " value1,value2,value3 "pattern r"(?:value\d,){2}value(\d)"match re.search(pattern, text) print(match.group(1)) 其中,(?:...)表示非捕获组,{1}表示匹配前面的模式一次。该正则表达式的含义是&#xff1a…

力扣刷题 day56:10-26

1.解码异或后的数组 未知 整数数组 arr 由 n 个非负整数组成。 经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] arr[i] XOR arr[i 1] 。例如,arr [1,0,2,1] 经编码后得到 encoded [1,2,3] 。 给你编码后的数组 encoded 和原…

Hbase基本使用,读写原理,性能优化学习

文章目录 HBase简介HBase定义HBase数据模型**HBase** **逻辑结构****HBase** **物理存储结构****HBase** **基本架构** HBase 入门**HBase** **安装部署****HBase** 配置文件**HBase** 启动停止**HBase** **访问页面****HBase** **高可用****HBase Shell****HBase API**HBaseCo…

解决msvcp120.dll丢失的问题的5个方法,修复系统dll问题

在使用计算机的过程中,我们经常会遇到各种各样的动态链接库(DLL)文件。其中之一就是“msvcp120.dll丢失”。这个错误通常会导致某些应用程序无法正常运行。为了解决这个问题,我们需要找到合适的方法来修复丢失的msvcp120.dll文件。…

用Wireshark在本机环回接口上抓包

Wireshark版本下载、安装 访问官网:https://www.wireshark.org/ 可以下载最新的版本,例如4.0.10版本。包比较大,可能下载得比较慢。 下载到本地后,双击按照提示安装就行了。 在环回接口上抓包 启动Wireshark,双击在…

【网络】想学TCP,这一篇就够了 —— TCP理论知识详解(基于前面手搓TCP服务端博客的补充)

TCP理论 前言正式开始TCP报文如何进行分离和封装TCP如何将有效载荷交付给上层如何理解TCP的可靠性TCP报头中的序号和确认序号(简单过一下,后面还会详细讲)只要序号不要确认序号行不行乱序问题 16位窗口大小TCP的全双工通信方式16位窗口大小的…

java小程序商城免费搭建 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城

涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis …

C语言每日一题(20)最大公因数等于 K 的子数组数目

力扣 2447 最大公因数等于 K 的子数组数目 题目描述 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 nums 的子数组中元素的最大公因数等于 k 的子数组数目。 子数组 是数组中一个连续的非空序列。 数组的最大公因数 是能整除数组中所有元素的最大整数。 …

【EI会议征稿】2024年电力电子与人工智能国际学术会议(PEAI 2024)

2024年电力电子与人工智能国际学术会议(PEAI 2024) 2024 International Conference on Power Electronics and Artificial Intelligence(PEAI 2024) 2024年电力电子与人工智能国际学术会议(PEAI 2024)将于…

C++基础算法⑦——信奥一本通递归算法(放苹果、求最大公约数问题、2的幂次方表示、分数求和、因子分解、判断元素是否存在)

递归算法 1206:放苹果1207:求最大公约数问题1208:2的幂次方表示1209:分数求和1210:因子分解1211:判断元素是否存在 1206:放苹果 这道题还是有些难度的,我们要考虑几种放苹果的情况。…

进程优先级、切换、调度

进程的特性是动态,并发,独立,异步,我们今天来浅显的从并发入手介绍各种知识 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。 为了高效完成任务,更合理…

利用Excel支持JUnit参数化测试

在JUnit里面,可以使用CsvFileSource读取csv文件进行参数化测试,可是CSV文件不支持格式,编辑颇为麻烦,尤其是多次编辑,因此自然想到是否可以使用Excel文件,可以有各种格式,支持各类数据。 最新开…

mysql/java/springboot/javaweb请假系统,分为学生/辅导员/超级管理员

源码下载地址 支持:远程部署/安装/调试、讲解、二次开发/修改/定制 系统分为 学生/辅导员/超级管理员 学生 辅导员 超级管理员

gulp自动化构建

什么是Gulp? Gulp是一种前端开发过程中广泛使用的自动化构建工具,它是基于Node.js构建的,能够极大地提高开发效率和代码质量。Gulp的主要功能包括文件的压缩、合并、重命名等,同时它也支持文件监听和浏览器自动刷新等功能。使用Gulp&#x…

hdlbits系列verilog解答(模块)-20

文章目录 一、问题描述二、verilog源码三、仿真结果 一、问题描述 到目前为止,您已经熟悉了 module模块 ,这是一种通过输入和输出端口与其外部交互的电路。更大、更复杂的电路是通过将较小的模块和其他连接在一起的部分(例如赋值语句和alway…

基于web的音乐网站播放器,类似网易云

源码下载地址 支持:远程部署/安装/调试、讲解、二次开发/修改/定制 随着互联网技术的不断发展,音乐流媒体服务得到了广泛的普及。用户可以通过在线音乐网站、音乐APP等渠道随时随地收听和分享自己喜欢的音乐。因此,开发一个高效、稳定、易用…

高等数学教材重难点题型总结(五)定积分

总的来说,只要不定积分掌握得好,基础的定积分肯定没问题;对于考研的话,在定积分定义、牛莱公式、反常积分、审敛法的理解要求更高一些(数一还会涉及到伽马函数~) 1.利用定义计算定积分 2.定积分的近似计算 …

CentOS 编译安装 nginx

CentOS 编译安装 nginx 修改 yum 源地址为 阿里云 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repoyum makecache升级内核和软件 yum -y update安装常用软件和依赖 yum -y install gcc gcc-c make cmake zlib zlib-devel openss…