linux 正则表达式

  • 1正则表达式
    • 1.1字符匹配
    • 1.2匹配次数
    • 1.3位置锚定
    • 1.4分组和引用和或者
  • 2实例

介绍grep命令,正则表达式是grep命令的一种使用方法

注意正则表达式与通配符的区别

  • 在文本过滤工具grep中,都是用正则表达式,针对的是文件内容的过滤查找
  • 通配符经常用在文件名上,比如find、ls、mv、cp等

1正则表达式

正则表达式常用元字符

1.1字符匹配

字符 描述
. 匹配任意单个字符
.* 匹配任意长度任意字符
[ ] 匹配指定范围内的单个字符
[^ ] 匹配指定范围外的任意单个字符

1.2匹配次数

字符 描述
* 匹配 * 前面的字符任意次数
? 匹配 ? 前面的字符最多一次
+ 匹配 + 前面的字符至少一次
{m} 匹配 {m}前面的字符m次
{m,n} 匹配 {m,n}前面的字符最少m次,最多n次
{,n} 匹配 {0,n}前面的字符最多n次
{m,} 匹配 {m,}前面的字符最少m次

1.3位置锚定

字符 描述
^ 行首锚定 ‘^word’
$ 行尾锚定 ‘word$’
^$ 空白行 ‘^$’
^word$ 以word开头且以word结尾的行 ‘^word$’
<或者\b 词首锚定 ‘<单词首部’ 或者 ‘\b单词首部’
>或者\b 词尾锚定 ‘单词尾部>’ 或者 ‘单词尾部\b’
<word>或\b…\b 匹配完整单词

1.4分组和引用和或者

分组

分组:\(\)将一个或者多个字符捆绑在一起,当成一个整体进行处理
分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部变量中
这些变量的命名方式为:\1,\2,\3……
\1 从左侧第一个左括号起到与之相匹配的右括号之间的 模式所匹配到的字符示例:\(string1+\(string2\)\)\1=string1+\(string2\)\2=string2

反向引用:引用前面的分组括号中的模式所匹配字符而非模式本身

或者

|:
a|b:a或b      C|cat:C或cat          \(C|c\)|at:Cat或cat

2实例

  1. 显示/etc/passwd文件中不以/bin/bash结尾的行

2.显示/proc/meminfo文件中以大小s开头的行

3.找出/etc/passwd中的两位或三位数

学Linux的你还在为正则表达式而挠头?相关推荐

  1. linux chmod命令数字,菜鸟学Linux命令:chmod命令和数字文件权限

    chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数. 只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权 ...

  2. linux命令启动程序,菜鸟学Linux命令:nohup命令启动程序

    在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程,比较麻烦: 另一种方法是仍然用 ...

  3. 我为什么要学LINUX系统?(转)

    我为什么要学LINUX系统?(转)        "UNIX 是简单的,你不需要成为天才也能理解这种简单." 由于GNU/Linux这个词太长,下面如果没有特别指明,"L ...

  4. 为什么大家都推荐我学Linux

    2019独角兽企业重金招聘Python工程师标准>>> 最近朋友总是推荐我去学Linux,我本人虽说是计算机专业的,但是我感觉在上学的时候好像还真没学到东西,现在也是干着一份与计算机 ...

  5. windows pxe 安装linux,菜鸟学Linux 第103篇笔记 pxe自动化安装linux

    菜鸟学Linux 第103篇笔记 pxe自动化安装linux 内容总览 linux的系统安装 kickstart文件的组成部分 DHCP (Dynamic Host Configuration Pro ...

  6. 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4

    2019独角兽企业重金招聘Python工程师标准>>> 1.前言 上一章讲述了如何配置使用源代码管理工具SVN并使之与Apache集成,从而实现代码的变更可追溯,虽然在大多数团队里强 ...

  7. 开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

    前言 表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRunner确实 ...

  8. 十天学Linux内核之第二天---进程

    十天学Linux内核之第二天---进程 原文:十天学Linux内核之第二天---进程 都说这个主题不错,连我自己都觉得有点过大了,不过我想我还是得坚持下去,努力在有限的时间里学习到Linux内核的奥秘 ...

  9. 【Linux】一步一步学Linux——apt-sortpkgs命令(280)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 apt-sortpkgs命令是Debian linux下对 ...

最新文章

  1. 合唱队形(递增再递减的最长子序列)
  2. 堪称下一场工业革命 一张图看懂物联网
  3. Facebook狂撒20万美元,悬赏用AI检测P图盗版问题
  4. kegra:用Keras深度学习知识图
  5. CentOS7 Change the Sources of yum(刚装完centos后一定要干的事)
  6. 解决org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql ...
  7. 400G时代即将来袭,新型光纤或为最佳拍档
  8. uniapp开发App如何引入阿里巴巴矢量库图标
  9. c语言要计算20,用C语言计算1~20的阶乘之和
  10. 中国智能燃气表行业竞争现状及前景趋势展望报告2021-2027年
  11. 使用npm运行react程序报错The 'mode' option has not been set, webpack will fallback to 'production' for th
  12. 项目管理中团队合作有多重要
  13. 20210605:前期使用pyqt5做的操作流程界面化,涉及mysql代码写的太差,可以用函数复用减少代码
  14. vc9.vc11.vc14_vc解释了为什么vc现在如此生气
  15. QQ音乐JS逆向分析参数,爬它,多图预警
  16. 判定能否构成三角形的方法 java_java中判断是否三角形的方法
  17. 聊聊soho办公-人们为什么越来越累
  18. 误删WinSock和WinSock2导致无法上网解决办法
  19. 期末大作业 | ToDoList网页设计 日记本界面设计记录
  20. UR--MoveIt Setup Assistant and Simulation

热门文章

  1. R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、使用rotate参数指定进行斜交旋转提取因子、使用nfactors参数指定抽取的因子个数、fa函数因子分析结果解读
  2. python使用statsmodels包中的tsaplots函数和lags参数可视化时间序列数据指定滞后位置个数(级别)以前的所有自相关性(plot the autocorrelation)
  3. R语言使用fs包的file_info函数查看文件元信息(属性信息)、使用file_chmod函数修改文件的权限、使用file_chown函数修改文件的所有者
  4. R语言dplyr包的top_n函数返回dataframe或tibble的前N行数据、dplyr包的top_frac函数返回dataframe或tibble的前百分之N(N%)的数据
  5. 什么是信度分析(Reliability)?有哪些信度分析方法?那什么又是效度?
  6. R语言cox回归模型案例(绘制列线图、校正曲线):放疗是否会延长胰脏癌手术患者的生存时间
  7. R语言原生hist函数绘制直方图实战
  8. 深度学习多变量时间序列预测:卷积神经网络(CNN)算法构建时间序列多变量模型预测交通流量+代码实战
  9. 为了人类的未来,请赋予机器人智慧和情感!
  10. E. coli 大肠杆菌 短read ERR022075