【Linux命令—shell】正则表达式

2023-11-18

正则表达式(regular expression)

描述一个字符集合的表达方式

模糊匹配

目录

 1、基本正则

 2、扩展正则

 3、兼容的正则(perl)

 4、综合案例练习


1、基本正则

演示如下:

 2、扩展正则

 注意:grep不支持扩展正则,如果需要使用扩展正则,需要使用 grep -E

演示如下:

 3、兼容的正则(perl)

 

  注意:grep不支持兼容的正则,如果需要使用扩展正则,需要使用 grep -P

演示如下:

 4、综合案例练习

 用法: grep [选项] 匹配模式 [文件]....

常用选项:

-i 忽略大小写

-v 取反匹配

-w 匹配单词

-q 静默匹配,不将结果显示在屏幕上

首先创建一个python.txt文件,对文件进行如下的操作:

 

(1)过滤包含the的行

(2)不区分大小写过滤包含the的行

(3)过滤不包含the的行

(4)过滤包含数字的行

(5)过滤包含bet或者better的行

(6)过滤包含2个字母o的行

(7)过滤包含1-2个字母o的行

(8)过滤不包含字母o的行

(9)过滤大写字母开头的行

(10)过滤小写字母开头的行

(11)过滤ou前面不是th的行

(12)过滤不以标点符号结束的行

(13)过滤空白行

(14)过滤以.结尾的行

(15)过滤以数字开始的行

(16)过滤包含2个以上z的行

(17)过滤所有字母

(18)过滤所有标点符号

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Linux命令—shell】正则表达式 的相关文章

  • 从 Java 读取 /dev/input/js0

    我正在尝试阅读 dev input js0来自Java 但我不断得到 java io IOException Invalid argument at java io FileInputStream read0 Native Method a
  • 如何让 PHP、符号链接和 __FILE__ 很好地协同工作?

    在本地主机上 我有以下目录结构 share www trunk wp content plugins otherfolders share www portfolio wp content symlink Where symlink是一个符
  • 将用户添加到组但运行“id”时未反映

    R 创建了一个名为 Staff 的组 我希望能够在不以 sudo 身份启动 R 的情况下更新软件包 所以我使用以下方法将自己添加到员工中 sudo usermod G adm dialout cdrom plugdev lpadmin ad
  • 页面错误陷阱的成本

    我有一个应用程序 它定期 每 1 或 2 秒后 通过分叉自身来获取检查点 因此 检查点是原始进程的一个分支 它一直保持空闲状态 直到原始进程发生某些错误时被要求启动 现在我的问题是fork的写时复制机制的成本有多大 每当原始进程写入内存页面
  • 使用 gatttool 或 bluepy BLE 订阅通知

    我正在使用 bluepy 编写一个程序 用于监听蓝牙设备发送的特征 我还可以使用任何库或语言 唯一的限制是在 Linux 上运行 而不是在移动环境中运行 似乎仅在移动设备中广泛使用 没有人在桌面上使用 BLE 使用 bluepy 我注册了委
  • 类似 wget 的 BitTorrent 客户端或库? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 是否有任何
  • 如何随时暂停 pthread?

    最近我开始将 ucos ii 移植到 Ubuntu PC 上 我们知道 在pthread的回调函数中的 while 循环中简单地添加一个标志来执行暂停和恢复是不可能模拟ucos ii中的 进程 的 如下解决方案 因为ucos ii中的 进程
  • Linux:通过网络进行屏幕桌面视频捕获和 VNC 帧速率

    抱歉 文字墙很长 TL DR VNC 连接的帧速率是多少 以帧 秒为单位 或者更确切地说 由谁决定 客户端还是服务器 对于桌面屏幕捕获的任何其他建议 但 正确的时间编码 具有不抖动的帧速率 具有稳定的周期 并有可能将其作为未压缩 或无损 图
  • 使用 linux perf 工具测量应用程序的 FLOP

    我想使用 perf Linux 性能计数器子系统的新命令行接口命令 来测量某些应用程序执行的浮点和算术运算的数量 出于测试目的 我使用了我创建的一个简单的虚拟应用程序 请参见下文 因为我找不到任何为测量 FP 和整数运算而定义的 perf
  • 代码::块 - 警告:GDB:无法设置控制终端:不允许操作

    我已经通过官方存储库在 Ubuntu 14 04 中安装了 Code Blocks 13 12 当我编译时 一切正常 但是当我调试时 shell 中会显示以下消息 警告 GDB 无法设置控制终端 操作不正确 允许的 程序执行到断点 但当我执
  • 如何查找或计算Linux进程的页表大小和其他内核占用?

    我怎样才能知道 Linux 进程页表有多大 以及任何其他可变大小的进程统计 如果您真的对页表感兴趣 请执行以下操作 cat proc meminfo grep PageTables PageTables 24496 kB
  • 如何从脚本向 sudo 提供密码?

    请注意 这是在我的本地计算机上运行的来宾虚拟机 VBox 我不担心安全性 我正在编写一个将在 Linux Ubuntu VM 上执行的脚本myuser用户 该脚本将在下面创建一个非常大的目录树 etc myapp 目前我必须手动完成所有这些
  • 如何使用sprof?

    请举例说明 从邮件中找到here http sources redhat com ml libc alpha 2003 07 msg00029 html and here http sourceware org ml binutils 20
  • 对 sf:: 的未定义引用

    我想用 C 制作 GUI 应用程序 发现 SFML 是一个不错的选择 幸运的是 我使用的是 Linux 所以 SFML 2 4 已经安装在我的系统上 所以我开始搜索一些教程并找到了一个制作简单窗口的教程 但是当我运行代码时 出现错误 提示未
  • 使用 sed 将 old-link-url 替换为 new-link-url

    我正在 bash 中编写一个脚本 将 old link url 替换为 new link url 我的问题是 sed 由于斜杠而无法替换 url 如果我只输入一些文字就可以了 my code sed e s old link new lin
  • gnome-terminal 新选项卡,使用别名作为要执行的命令

    我已经创建了一个别名 bashrc文件如下 alias myproject cd Desktop myproject 当我重新启动终端时保存文件后 输入myproject带我到项目目录 但是当我尝试使用别名作为新的命令参数时gnome te
  • 在中断时获取 current->pid

    我正在Linux调度程序上写一些东西 我需要知道在我的中断到来之前哪个进程正在运行 当前的结构可用吗 如果我在中断处理程序中执行 current gt pid 我是否可以获得我中断的进程的 pid 你可以 current gt pid存在并
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • Windows 与 Linux 文本文件读取

    问题是 我最近从 Windows 切换到 Ubuntu 我的一些用于分析数据文件的 python 脚本给了我错误 我不确定如何正确解决 我当前仪器的数据文件输出如下 Header 有关仪器等的各种信息 Data 状态 代码 温度 字段等 0

随机推荐

  • 解决selenium传入cookies错误:InvalidCookieDomainException: Message: Cookies may only be set for the curre

    这是因为cookies的domain不同造成的 去掉含有多余domain的cookie 不再报错 def getPureDomainCookies cookies domain2cookie 做一个域到cookie的映射 for cooki
  • 戳泡泡小游戏

    欢迎来到程序小院 戳泡泡 玩法 鼠标点击上升的起泡泡 点击暴躁记录分数 不要让泡泡越过屏幕 共有三次复活生命 会有随机星星出现 点击即可暴躁全屏哦 开始游戏https www ormcc com play gameStart 179 htm
  • MPLS-LDP

    在 MPLS 网络中 路由器通过运行 LDP 协议为每条内部路由映射 一个标签 然后再将标签信息通告给所有邻居 路由器之间通过这种方式来建立标签转发表 最终形成LSP 当网络拓扑发生变化时 LDP 会实时地响应这种变化 动态建立 LSP 实
  • XP系统IE浏览器无法访问https

    报错信息如下 百度后发现是tls的问题 查看相关信息 查看证书的信息 F12 Security not serure 老版本xp只有TLS1 0而证书是TLS1 2 一 尝试使用老版本Openssl创建证书 Openssl老版本下载 htt
  • 005. 反转链表-双指针

    题目链接 力扣 代码 01 双指针 class Solution public ListNode reverseList ListNode head ListNode temp 保存cur的下一个节点 ListNode cur head L
  • make[1]: *** [objs/Makefile:777:objs/src/os/unix/ngx_user.o] 错误 1

    在安装nginx 执行make时报以下错误 解决方法如下图 保存后再返回nginx目录下再执行make即可 如make后还报一样的错或其他错需再执行以下命令 在nginx目录下编辑vim src os unix ngx user c 如图
  • 数组与指针超强巩固练习题——搞清各种数组与指针的关系

    1 一维数组 include
  • faster rcnn matlab,Faster rcnn 模型的数据标定的知识求助,matlab2017b自带的函数

    构建CNN网络 输入层 最小检测对象设置为540 960 inputLayer imageInputLayer 10 10 3 中间层 定义卷基层参数 filterSize 3 3 numFilters 32 middleLayers 第一
  • linux驱动:一、字符设备的介绍和demo

    一 字符设备驱动简介 字符设备是 Linux 驱动中最基本的一类设备驱动 字符设备就是一个一个字节 按照字节流进行读写操作的设备 读写数据是分先后顺序的 比如我们最常见的点灯 按键 IIC SPI LCD 等等都是字符设备 这些设备的驱动就
  • 如何清空matlab命令窗口,matlab如何清空命令窗口中的内容

    还有一个常用的clf 清除图形窗口命令www mh456 com防采集 在matlab的命令窗口 输入2113clc命令 即可清空命令窗5261口中的内容 从matlab2012b版本后 还可以4102利用HOME菜单页下的Clear Co
  • MS17-010(永恒之蓝)漏洞复现和分析

    MS17 010 永恒之蓝 漏洞复现和分析 一 漏洞简介 1 永恒之蓝介绍 永恒之蓝是指2017年4月14日晚 黑客团体Shadow Brokers 影子经纪人 公布一大批网络攻击工具 其中包含 永恒之蓝 工具 永恒之蓝 利用Windows
  • PTA天梯赛L1-058 6翻了(c语言实现)

    原题链接 这道题稍微有一点点灵活 乍一想还是有点想不到的 主要还是对6的个数进行计数 如果是6则计数有多少个6 如果不是6的话则要进行判断 如果在此之前6的个数超过了3 gt 3 但是小于等于9那么要输出9 如果在此之前6的个数超过了9 g
  • ctfshow---sql注入(214-253)

    目录 web214 web215 web216 web217 web218 web219 web220 web221 web222 web223 web224 web225 web226 web227 web228 229 230 web2
  • 解决git速度慢的问题

    git clone特别慢是因为github global ssl fastly net域名被限制了 只要找到这个域名对应的ip地址 然后在hosts文件中加上ip gt 域名的映射 刷新DNS缓存便可 github com的ip 打开hos
  • 【Linux实操】vi和vim编辑器的使用(vim三种模式的切换)

    vim三种模式介绍及切换 一 Linux实操vi和vim编辑器的使用 1 正常模式 2 插入模式 编辑模式 3 命令行模式 二 vim的三种模式的相互转换 三 vi vim快捷键一览图 一 Linux实操vi和vim编辑器的使用 所有的 L
  • 获取剪贴板内容

  • MySQL命令alter add:增加表的字段

    alter add命令用来增加表的字段 alter add命令格式 alter table 表名 add字段 类型 其他 例如 在表MyClass中添加了一个字段passtest 类型为int 4 默认值为0 mysql gt alter
  • centos通过rpm包实现内核升级

    一 查看当前内核版本 root lvs uname r 3 10 0 1160 el7 x86 64 二 前往链接 elrepo获取最新的repo包 rpm import https www elrepo org RPM GPG KEY e
  • 高安全等级密码模块安全技术设计

    摘 要 随着金融 大数据等行业的普及和发展 对密码设备的依赖与日俱增 并且业内在数据安全领域提出了多方面更高的要求 例如密码模块的物理安全 抗非入侵式攻击 抗环境失效等 迫切需要更高安全等级的密码模块来支撑行业的实际应用需求 依托安全二级密
  • 【Linux命令—shell】正则表达式

    正则表达式 regular expression 描述一个字符集合的表达方式 模糊匹配 目录 1 基本正则 2 扩展正则 3 兼容的正则 perl 4 综合案例练习 1 基本正则 演示如下 2 扩展正则 注意 grep不支持扩展正则 如果需