RHCE---正则表达式

文章目录

  • 前言
  • 一、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.mzph.cn/news/121644.shtml

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

相关文章

设计模式(15)组合模式

一、介绍: 1、定义:组合多个对象形成树形结构以表示“整体-部分”的关系的层次结构。组合模式对叶子节点和容器节点的处理具有一致性,又称为整体-部分模式。 2、优缺点: 优点: (1)高层模块调…

JAVA设计模式详解(独家AI解析)

JAVA设计模式详解(独家AI解析) 一、JAVA介绍二、JAVA设计模式六大原则三、JAVA设计模式介绍四、JAVA设计模式详解4.1 单例模式4.1.1 懒汉式(Lazy Initialization)4.1.2 饿汉式(Lazy Initialization) 4.2 代…

UE4/5 竖排文字文本

方法一、使用多行文本组件 新建一个Widget Blueprint 添加Text 或者 Editable Text(Multi-Line) 、TextBox(Multi-Line) 组件。 添加文字,调整字号,调整成竖排文字。 在Wrapping (换行)面板中 : 勾选 Auto Wrap te…

RabbitMQ的交换机(原理及代码实现)

1.交换机类型 Fanout Exchange(扇形)Direct Exchange(直连)opic Exchange(主题)Headers Exchange(头部) 2.Fanout Exchange 2.1 简介 Fanout 扇形的,散开的&#xff1…

pve lxc debian 11安装docker遇到bash: sudo: command not解决办法

pve创建LXC容器,使用debian 11模版,安装完成后正常换源、安装依赖 然后添加Docker 的官方 GPG 密钥时出错: $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add - 提示 bash: sudo: command not …

基于图像识别的自动驾驶汽车障碍物检测与避障算法研究

基于图像识别的自动驾驶汽车障碍物检测与避障算法研究是一个涉及计算机视觉、机器学习、人工智能和自动控制等多个领域的复杂问题。以下是对这个问题的研究内容和方向的一些概述。 障碍物检测 障碍物检测是自动驾驶汽车避障算法的核心部分,它需要从车辆的感知数据…

统计学习方法 决策树

文章目录 统计学习方法 决策树决策树模型与学习特征选择决策树的生成ID3 算法C4.5 的生成算法 决策树的剪枝CART 算法CART 回归树的生成CART 分类树的生成CART 剪枝 统计学习方法 决策树 阅读李航的《统计学习方法》时,关于决策树的笔记。 决策树模型与学习 决策…

git 删除远程标签tag【杂记】

分为两步: 1、删除本地tag git tag -d tag-name 2、删除远程tag git push origin :refs/tags/tag-name

java基础 特殊文件

1.Properties属性文件: 1.1使用Properties读取属性文件里的键值对数据: package specialFile;import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Enumeration; import java.util.Propert…

中电文思海辉:塑造全球AI能力,持续强化诸多行业战略

【科技明说 | 重磅专题】 中电文思海辉以前就是叫文思海辉, 这是由之前两家上市软件外包公司文思信息和海辉软件合并而来,2018年当时各自股票以1:1的比例进行整合,双方股东各持有新公司50%的股权,合并后新公司名称为文…

使用 Pyro 和 PyTorch 的贝叶斯神经网络

一、说明 构建图像分类器已成为新的“hello world”。还记得当你第一次接触 Python 时,你的打印“hello world”感觉很神奇吗?几个月前,当我按照PyTorch 官方教程并为自己构建了一个运行良好的简单分类器时,我也有同样的感觉。 我…

牛客网刷题-(7)

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…

算法通关村第三关|白银|双指针妙用【持续更新】

1.删除元素 1.1 原地删除等于 val 的元素 1.1.1 快慢双指针。 public int removeElement(int[] nums, int val) {int slow 0;for (int fast 0; fast < nums.length; fast) {if (nums[fast] ! val) {nums[slow] nums[fast];slow;}}return slow; }1.1.2 对撞双指针&…

嘴笨的技术人员怎么发言

对于嘴笨的人来说&#xff0c;即兴发言简直就是灾难&#xff0c;想想自己窘迫的模样&#xff0c;自己都受不了&#xff0c;但职场又避免不了这种场合&#xff0c;所以&#xff0c;就要靠一些技巧让我们顺利打开思路了。 那么&#xff0c;今天就分享几个解救过我的不同场景即兴发…

数据结构介绍与时间、空间复杂度

数据结构介绍 什么是数据结构&#xff1f;什么是算法&#xff1f;数据结构和算法的重要性 数据结构定义 数据结构是计算机科学中研究数据组织、存储和管理的一门学科。数据结构描述了数据对象之间的关系&#xff0c;以及对数据对象进行操作的方法和规则。 常见的数据结构 数…

解析G代码【C#】

下面是一个使用C#编写的解析G代码的示例方法&#xff1a; 下面是一个使用C#编写的解析G代码的示例方法&#xff1a;csharp using System; using System.Collections.Generic;public class GCodeParser {public static List<GCodeCommand> ParseGCode(string gcode){var …

网络原理之TCP/IP

文章目录 应用层传输层UDP协议TCP协议TCP 的工作机制1. 确认应答2. 超时重传3. 连接管理TCP 的建立连接的过程(三次握手),和断开连接的过程(四次挥手)TCP 断开连接, 四次挥手 3. 滑动窗口5. 流量控制6. 拥塞控制7. 延时应答8. 捎带应答9. 面向字节流10. 异常情况 本章节主要讨论…

【Python机器学习】零基础掌握SimpleImputer缺失值填充

如何处理数据集中的缺失值,以便更准确地进行数据分析或模型训练? 在数据分析和机器学习中,数据的完整性和准确性至关重要。但现实情况是,收集到的数据往往存在缺失值。例如,医疗研究中可能缺少某些患者的体重、年龄或血压等信息。这样的缺失值会对数据分析或模型训练产生…

vscode不显示横滚动条处理

最近发现vscode打开本地文件不显示水平的滚动条&#xff0c;但是打开一个临时文件是有水平滚动条的。 解决方案 可以一个个试 vscode配置 左下角设置–设置–搜索Scrollbar: Horizontal auto 自动visible 一直展示hidden 一直隐藏 拖动底部状态栏 发现是有的&#xff0c;但是…

国际腾讯云直播推流配置教程!

云直播的服务本质是一个广播的过程&#xff0c;类似于电视台的直播节目通过有线电视网发送给千家万户。为了完成这个过程&#xff0c;云直播需要有采集和推流设备&#xff08;类似摄像头&#xff09;、云直播服务&#xff08;类似电视台的有线电视网&#xff09;和播放设备&…