首页 > 其他分享 >grep中的正则表达式使用

grep中的正则表达式使用

时间:2023-02-05 10:33:24浏览次数:35  
标签:匹配 正则表达式 text text1 使用 grep 变量名

◆语法

如下图所示、grep的命令行参数非常之多,在此,我们主要介绍如下使用方式:

grep [-e expression][filename]

-e指定正则表达式

-i不区分大小写

-n显示行号

 

image.png

 

简单的正则表达式

◆“[]”匹配指定字符集

将匹配text1,text2,tex3

Is I grep -e 'text[ 123]’

◆字符串精确匹配

精确匹配"LNE”:

grep -e LINE. viminfo

◆“[^]”不匹配指定字符集

将不匹配text,text2,tex3,输出,tex4,text5

Is I grep -e ‘text’[   ^123]’

 

◆“*”重复匹配

将匹配t,to,too,(*表示>=30个)

Grep -e ‘to+’ text1

将匹配to,too(+表示>0个)

Grep -e ‘to+’  text1

◆".”匹配任意单个字符

将会输出文件全文:

grep-e’.’.viminfo

 

 

 

 

◆“^”头部匹記

指明正则表达式心须是头部匹配匹配所有开头的字符串

grep -e ' ^text’text1

◆“$”尾部匹配

指明正则表达式必须是尾部匹配匹配所有text结尾的字符串

grep -e 'text$’text1

 

◆转义字符

经过前述的讨论可知,正则表达式中,使用了很多字符,如“.””,””^””$”等等还有很多为例出来的字符。假如要匹配的字符串中有这些字符:转义字符可以解决这个问题,转义字符是一个反斜杠,下面的例子可以匹配以“¥test”结尾的字符串。

Grep -e’\$test$$’test1

 

 

三:常用场景

l  C命名规范:

1)变量名的开头必须是字母或下划线,不能是数字

2)变量名中的字母是区分大小写的。比如a和A是不同的变量名,num和Num也是不同的变量名。

3)变量名绝对不可以是C语言关键字,这一点一定要记住!

4)变量名是字母、数字、下划线的组合。

c变量示例:[a-zA-Z_][a-zA-Z_0-9]*

l  在文件中查找邮箱:

假设有这样一个场景,当数据量很大时,想知道该文件中是否存在某个人的邮箱,但仅仅知道邮箱以.com结尾,并且邮箱中只含有字母和数字,要怎样才能减轻工作量:

可以先通过grep匹配出所有的以.com结尾的邮箱。

Grep’[a-zA-Z0-9]\+@[a-zA-Z0-9]\+\.com>'log.txt

标签:匹配,正则表达式,text,text1,使用,grep,变量名
From: https://www.cnblogs.com/woodx/p/17092978.html

相关文章

  • 如何使用 systemctl 管理服务
    开机启动对于支持systemd的软件,安装的时候,它会自动的在 /usr/lib/systemd/system 目录添加一个配置文件下面以mysql为例来说明如何设置开机启动systemctlenablemy......
  • shell脚本——正则表达式
     LinuxShell脚本之正则表达式一、常见的管道命令sort命令sort命令可针对文本文件的内容,以行为单位来排序格式:sort [选项] 参数常用选项选项  ......
  • 第六十六章 使用 Web 服务监控 IRIS - IRIS 对 WS-Monitoring 的支持概述
    第六十六章使用Web服务监控IRIS-IRIS对WS-Monitoring的支持概述本附录介绍并简要描述了如何使用IRIS®数据平台支持WS-Management规范,它使能够通过SOAP远......
  • .net core build 工具无法引用COM DLL 则可以使用nuget包
    我使用命令行构建项目,提示无法引用COMDLL需要使用.NETfromwork版的构建工具其实可以通过nuget包来导入其他人创建的COMDLL包装程序集,这样就可以使用.NETcore的构......
  • 怎么使用Git查看项目中代码的提交历史记录?
    怎么使用Git查看项目中代码的提交历史记录?可以在git上使用下面这段指令gitlog--pretty=format:"%ai,%an:%s">>~/Desktop/Readme.log在git上执行完之后,就可以在......
  • java中使用xml基础
    XML概述XML的全称为(EXtensibleMarkupLanguage),是一种可扩展的标记语言标记语言:通过标签来描述数据的一门语言(标签有时我们也将其称之为元素)可扩展:标签的名字是......
  • 全局变量和局部变量使用问题
      在Java中变量类型有成员变量、局部变量和静态变量(类变量、static变量),本篇文章主要介绍成员变量(全局变量)和局部变量的区别。根据变量的作用范围,将程序中的变量分为......
  • SQLMAP使用
    sqlmap使用教程-u指定目标URL(可以是http协议也可以是https协议)-d连接数据库--dbs列出所有的数据库--current-db列出当前数据库--tables列出当前的表--column......
  • 正则表达式
    正则表达式正则表达式:对特殊的输入格式进行验证;应用matches方法匹配1、\d:匹配一位数字例:Scannerinput=newScanner(System.in);   System.out.println("请输......
  • splash的使用
    splash是一个JavaScript渲染服务,利用它可以爬取动态渲染的页面一、简介功能异步处理多个网页的渲染过程可以获取渲染后页面的源代码、截图、以及页面的加载过程信息......