文本三剑客之grep

简述grep

grep:

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

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

grep [选项] PATTERN  [FILE]

常用选项:

–color=auto              #自动对匹配到的文本加颜色,默认红色

-i     #ignorecase,忽略字符大小写;

-o    #仅显示匹配到的字符串本身

-v    #反向匹配,显示不能被模式匹配到的行

-E    #支持使用扩展的正则表达式

-q    #静默模式,既不输出任何信息

#号表示数字

-A  #                 #  后#行

-B  #                #   前#行

-C  #                #    前后各#行

基本正则表达式元字符

字符匹配:

.  :匹配任意单个字符

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

[^]:匹配非指定范围内的单个字符

[:digit:] 、[:lower:]、[:upper:]、[:alpha:]、[:alnuml:]、[:punct:]、 . . .

匹配次数:用在要指定其出现的次数的字符后面,用于限制其前面字符出现的次数;默认工作在贪婪模式

*:匹配前面的字符任意次,0,1,  多次;

例如: grep “x*y”

abxy

aby

xxxxxy

yab

.*:匹配任意长度的任意字符

\?:匹配其前面的字符0次或1次

\+:匹配其前面的字符1次或多次;前面的字符要出现至少一次;

\{m\}:匹配其前面的字符m次;m表示数字;

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

\{0,n}:至多n次

\{m,\}:至少m次

位置锚定:

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

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

^PATTERN$:用PATTERN匹配整行;

^$:  空白行

^[[:space:]]*$:空行或包含空白字符的行;

单词:非特殊字符组成的连续字符串都成为单词;

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

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

\<PATTERN\>:精确锚定单词;

分组及引用:

\(\):将一个或多个字符捆绑在一起,当做一个整体进行处理;

\(xy\)*ab

分组括号中的模式匹配到的内容会被正则表达式引擎自动记录与内部的变量中,这些变量为:

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

\2

\3

He loves his lover
He likes his lover
She likes her liker
She loves her liker

[ root@centos7~]# grep “\(l..e\).*\1” test.txt
# 后向引用:引用前面的分组括号中的模式所匹配到的字符;

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

(1)
会飞的蜗牛会飞的蜗牛
上一篇 2018-04-20
下一篇 2018-04-20

相关推荐

  • 认证基础及DNS服务基础

    认证基础及DNS服务基础

    Linux笔记 2018-04-27
  • 第十周作业

    1、Centos7系统下实现httpd-2.2的安装,并分别实现prefork、worker、event等几种工作方式
    2、简述request报文请求方法和状态响应码
    3、详细描述httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例

    Linux笔记 2018-07-14
  • Linux 安装简介

    因为自己对6版本不太熟悉,所以,整理梳理了整个安装的流程,供大家参考使用。

    2018-07-23
  • history man info tab 的用法

    “whatis conmand =man -f cm 简单说明 centos6 安装what is 输入 make whatis centos7 创建 mandb “内部命令用 help conmand 外部命令 用 command –help 外部命令 man command (外部命令用man比较详细) 可以用/ 搜 …

    Linux笔记 2018-03-31
  • bash脚本编程while&until

    bash脚本编程while&until

    Linux笔记 2018-04-20
  • Linux学习笔记——特殊权限之 SUID GUID StickyBit

    ◆ SUID ( Set User ID ) Linux里,用户的ID被称作UID。在实际生产中,可能需要临时借用别的用户执行程序,因此需要能够临时变更自己UID的机能叫做SUID。借助SUID权限,用户可以临时调用root权限。※ 通常,文件的执行是由所属者发起,然而,赋予SUID权限后可临时继承所有者的权限(来执行文件)。通常用于二进制可执行文件上,文件…

    Linux笔记 2018-04-07