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

相关推荐

  • 简述awk命令及用法

    简述awk命令及用法

    2018-06-18
  • 一次性任务:at命令

    一次性任务:at命令at使用必备1th:1)type at2)rpm -qf path3)yum install 包名4)rpm -ql at (有atd.service发现它也是个服务,即要使用at必须要开启这个服务)2th:1)systemctl status atd (active running)2)systemctl start atd3th:nt…

    Linux笔记 2018-05-06
  • 文本处理三剑客:sed简介

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

    Linux笔记 2018-04-03
  • 文本处理——sed初步

    sed是一种流编辑器,它一次处理一行内容。
    处理时,把当前处理的行存储在临时缓冲区(pattern space),同时输出到屏幕,接着用sed命令处理缓冲区中的内容,接着读取下一行,这样不断重复,直到文件末尾。

    Linux笔记 2018-04-20
  • LINUX 进程管理

    #### hostname hostname [OPTION] [HOSTNAME] 默认选项:修改主机名为[HOSTNAME] 备注:临时生效如果想永久生效则需要修改文件/etc/sysconfig/network文件 选项 -I :取出本机上所有的非回环地址 示例 “` [root@zhangxiao network-scripts]#hos…

    Linux笔记 2018-05-06
  • 第四周作业:etc/skel实战联系

    第四周作业

    2018-04-13