grep命令和正则表达式

grep命令和正则表达式的命令笔记

grep 支持正则表达式 支持字符串

grep 是一个文本过滤工具

egrp:基本正则表达式

fgrp:扩展正则表达式

grep的命令格式     “grep 目标   文件”

grep还支持变量    “grep $ 变量 文件”

grep还支持命令    “grep 命令   文件”

grep数标准输入,所有可以和管道符结合

标准输出 | grep标准输入

“grep 命令 文件” grep命令格式的示例

grep包含root的行 - 副本

“grep -v 目标 文件” 显示不包含目标的其他内容 。 下面表示非#号开头的行

grep -v非

grep命令和正则表达式

“grep -i 目标 文件” 忽略目标的大小写grep命令和正则表达式

grep -i忽略大小写 - 副本

 

“grep -n 目标 文件” 目标文件在第几行grep命令和正则表达式,并显示序列号

grep -n 看目标在什么行

 

“grep -c 目标 文件” 查看目标这个有几行grep命令和正则表达式

grep -c 看总共有几行 - 副本

“grep -o 目标 文件” 只显示相关的字符,一行的其他不显示grep命令和正则表达式只显示这个字符,不显示其他

“grep -q 目标 文件” 不显示输出的内容,可以用 echo $?查看, 非0代表没有找到目标grep命令和正则表达式grep -p 不显示结果 - 副本

“grep -A 目标 文件” A后面加个数字包含目标的后几行grep命令和正则表达式

grep -A 加数字显示后几行 - 副本

“grep -B 目标 文件”  B后面加数字显示包含目标的前几行grep命令和正则表达式grep -B 后面加个数字显示目标的前几行 - 副本

“grep -C 目标 文件” C前面加个数字显示包含目标的前后几行grep命令和正则表达式grep -C 后面加数字显示目标的前后几行 - 副本

 

“grep -e 目标1 -e 目标2 文件” 包括目标1或者目标2 或者的关系,一行不显示两目标grep命令和正则表达式grep -e 或者的关系 - 副本

“”grep -w 单词 文件“” 在文件里面是单词的目标 grep命令和正则表达式grep -w 是一单词为目标的 - 副本

字母数字加下划线都是字母的一部分,其他都不是字母的一部分grep命令和正则表达式grep-w加特殊字符不是单词 - 副本

grep -f 后面是跟的文件,将目标放在几个文件里面 ,然后执行grep -f grep命令和正则表达式grep -f 将目标写到一个文件

grep命令和正则表达式grep -f 执行的结果

 

正则表达式

处理文本内容 通过特定的符号来匹配或者控制

BRE 基本正则表达式

ERE 扩展正则表达式

元字符分类:字符匹配 ,匹配次数, 位置锚定, 分组

字符匹配

. 表示文件内容任意一个字符“a..d” abcd 两个..表示两个字符。a代表一个字符,.代表一个字符,c代表一个字符grep命令和正则表达式

正则表达式 字符。描述

[ . ] 点放在中括号 代表.点的本意

转义 \ . 代表. 点字符的本意,中间的点转义到原来.的意思grep命令和正则表达式grep 正则表达式字符转义 - 副本

grep “r[abc]t” 取中括号里面的任意的一个字符grep命令和正则表达式

grep正则表达式中括号任意一个字符

grep “r[^abc]t” 除了中括号里面的任意字符grep命令和正则表达式grep正则表达式除了中括号里面的任意一个字符

 

匹配次数 :某一个字符出现的次数

*表示字符前面出现任意次或者0次? *表示前面出现的相同字符是不确定的grep命令和正则表达式grep正则表达式前面的字母出现任意次

.* 代表任意长度的任意字符串, .代表一个字符,* 表示字符前面出现任意次或者0次grep命令和正则表达式grep正则表达式点星

\ ? 匹配字符前面出现一次或者0次 grep命令和正则表达式

grep正则表达式问号星前面的字符出现一次或者0次

\ + 匹配字符前面出现一次或者一次以上grep命令和正则表达式

grep 正则表达式加号出现一次或者一次以上 - 副本

\ {数字 \ } 精确单词匹配多少次,前面的o必须出现22次grep命令和正则表达式正则表达式精确匹配数字

\ {数字,\ } 大于多少次 ,前面的o必须出现10次以上grep命令和正则表达式grep正则表达式必须大于数字多少

\ [数字 , 数字 \ } 前面取得数字必须出现的次数大于多少并小于多少次:grep命令和正则表达式grep正则表达式数字大于多少小于多少

多个位置锚定

^ 表示行首 锚定 ^ root root开头的行grep命令和正则表达式

位置锚定root开头的行

$ 表示行尾 的行grep命令和正则表达式

grep位置锚定表示结尾的行

​ “\ < root” root位于一行的行左 以root词开头的行 grep命令和正则表达式

grep位置锚定词开头的行

​ “\ > root” root位于一行的行左右 词尾 grep命令和正则表达式

grep位置锚定以词结尾的行

“\ b目标 \b” 表示单词的边界grep命令和正则表达式

grep位置锚定b表示单词的边界

 

分组 表示的是一个单词出现几次

\ (wang\ ) 表示分组 , \ {3\ } 表示wang出现3次

grep命令和正则表达式grep分组wang出现3次

后向引用 \1 必须和前面的目标一样

grep命令和正则表达式grep分组后向引用grep分组例题grep分组例题2

grep命令和正则表达式

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95322

(0)
周亚飞周亚飞
上一篇 2018-04-07 19:44
下一篇 2018-04-08 10:15

相关推荐

  • 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

    #help man命令为Linux下的帮助指令,通过man命令可以哈看Linux中对应的命令手册,划分如下 1:用户命令章节 2:系统调用命令章节 3:c库调用章节 4:设备及特殊文件 5:配置文件的格式以及相关参数 6:游戏 7:杂项 8:管理命令

    Linux笔记 2018-05-13
  • 生产环境中数据文件删除,空间不释放问题

    首先数据文件删除文件系统空间不释放的问题不只出现在Linux平台,所有平台都可能有这样的问题。这里只是在Linux平台做一些测试,其他平台类似;其次只有将数据文件存放在文件系统中才会有此类问题。空间没有释放我们可能是通过df命令确认的,当我们用du去扫描目录的大小可能会发现df和du两个命令看到的空间使用情况是不同的,可能差别很大,找了一些文档,解决了这个问题;写这篇博客,希望跟大家分享一下。

    2018-05-18
  • 文本处理三剑客:sed简介

    文本处理三剑客:sed简介 sed是一种流编辑器,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。 处理过程 sed命令将当前处理的行读入模式空间(pattern space)进行处理,sed在该行上执…

    Linux笔记 2018-04-03
  • dns看图来配,思路一下明了

      1.子域授权: 每个域的名称服务器,都是通过其上级名称服务在解析库中进行授权。 如:根域授权顶级域是怎么做的? 说明.com.这个域   它的ns服务器是主机名ns1.com.;2.com. .com.     IN  NS    ns1.com. .com.     IN  NS    ns2.com. ns1.com.   IN   A  …

    Linux笔记 2018-06-03
  • 相信过程-马哥教育

    IT工程师工作和学习都是比较枯燥的,过于目标化忽略了过程本身并不适合我,如果我来这里能使我全心全意投入到一段学习当中,我觉得来这里目标就达到了。其他的事情自然会水到渠成。 大家共勉!

    2018-07-21
  • 網絡屬性配置一

    網絡屬性配置一 一. ifconfig的应用 (一)配置网络接口: #ifconfig (只显示活动状态的接口) ifconfig -a(显示所有接口) 配置地址: 注意(掩码的两种的写法) #ifconfig 接口 指定的IP/NETMASK 1.#ifconfig ens37 172.20.110.11/16 (IP改为172.20.110.11/16)…

    Linux笔记 2018-05-03