grep基本用法

grep:文本过滤工具

grep:Global search REgular expression and Print out the line.

作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查,打印匹配到的行;

模式:由正则表达式字符及文本字符所编写的过滤条件;

-----------------------------------------------------------------------------------------------------------------------------

正则表达式:由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字符字面意义,而表示控制或通配的功能;

分类:

基本正则表达式:

扩展正则表达式:

grep有自带的正则表达式引擎来实现正则表达式解析和匹配字符

grep [选项] PATTERN [FILE...]

选项:

--color=auto:对匹配到的文本着色显示;

-v:显示不能够被pattern匹配到的行;

-i: 忽略字符大小写;

-o:仅显示匹配到的字符串;

-q:检查匹配后不输出任何信息(静默模式);

-A #(数字): 后#行;

-B#: 前#行;

-C #: 前后各#行;

-E:使用扩展;

---------------------------------------------------------------------------------------------------------------------------------

基本正则表达式元字符:

字符匹配:

.:匹配任意单个字符;

[ ]:匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

[:digit:]数字、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:]

匹配次数:

用在要制定次数的字符后面,用于指定前面的字符要出现的次数;

*:匹配前面的字符任意次;(*自身仅表示次数)

    例:grep "x*y"

.*:任意长度的任意字符;

 \?:匹配其前面的字符0次或1次:前面的字符可有可无;

\+:匹配其前面的字符至少1次;

\{m\}:匹配前面的字符m次;

\{m,n\}:匹配前面的字符至少m次,最多n次;

\{0,n\}:匹配前面的字符最多n次;

\{m,\}:匹配前面的字符至少m次;

位置锚定:

^:行首锚定(用于模式的最左侧);

$:行尾锚定(用于模式的最右侧);

^PATTERN$:用于模式匹配整行;

^$:空行(不含空格);

^[[:space:]]*$:包含空格的“空行”;

\< 或 \b:词首锚定:用于单词模式的左侧;

\> 或 \b:词尾锚定:用于单词模式的右侧;

\<PATTERN\>:匹配整个单词;

分组:

\(\):将一个或多个字符当作一个整体进行匹配;

  例:\(xy\)*ab

注:分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为:\1,\2,\3,...

\1:从左侧起,地一个左括号以及与之匹配右括号之间的模式所匹配到的字符;

\(ab\+\(xy\)*\):

\1:ab\+\(xy\)*

\2:xy

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lssyg2011

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值