美文网首页
grep及正则表达式

grep及正则表达式

作者: 马月半 | 来源:发表于2018-09-20 10:31 被阅读0次

grep简介

grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。通常grep有三种版本grep、egrep(等同于grep -E)和fgrep。egrep为扩展的grep,fgrep则为快速grep(固定的字符串来对文本进行搜索,不支持正则表达式的引用但是查询极为快速)。grep是Linux文本处理三剑客之一。

grep使用方式

grep [options] PATTERN [FILE...]

-i : 忽略字符的大小写

--color:高亮显示关键字

-v: 显示没有被模式匹配到的行

-o:只显示被模式匹配到的字符串

Pattern: 文本字符和正则表达式的元字符组合而成匹配条件

正则表达式:REGular EXPression, REGEXP

元字符:

.: 匹配任意单个字符

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

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

             字符集合:[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:], [:alnum:]

匹配次数(贪婪模式):

*: 匹配其前面的字符任意次        

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

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

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

                 \{1,\}

                 \{0,3\}

位置锚定:

^: 锚定行首,此字符后面的任意内容必须出现在行首

$: 锚定行尾,此字符前面的任意内容必须出现在行尾

^$: 空白行

\<或\b: 锚定词首,其后面的任意字符必须作为单词首部出现

\>或\b: 锚定词尾,其前面的任意字符必须作为单词的尾部出现

分组:

abab*

后向引用

\1: 引用第一个左括号以及与之对应的右括号所包括的所有内容

\2:

\3:

Tips

[root@mysql ~]# alias grep='grep --color'

设置别名  grep默认关键字高亮显示

 查询以空白字符数字结尾的行

[root@mysql ~]# grep '[[:space:]][[:digit:]]$' /etc/inittab

He love his lover.    She like her liker.  查询这样的内容

[root@mysql ~]# grep 'l..el..e.*\1' test3.test

在/proc/meminfo查询以s或者S开头的内容

[root@mysql ~]# grep '^[sS]' /proc/meminfo 

取出默认shell为bash,且其用户ID号最小的用户的用户名

 grep 'bash$' /etc/passwd | sort -n -t: -k3 | head -1 | cut -d: -f1

显示/etc/inittab中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行

grep '^#[[:space:]]\{1,\}[^[:space:]]*' /etc/inittab

显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行;

grep ':[[:digit:]]:' /etc/inittab

grep ':[0-9]:' /etc/inittab

显示/etc/inittab文件中以一个数字开头并以一个与开头数字相同的数字结尾的行

grep '^[0−9][0−9].*\1$' /etc/inittab

查找当前系统上名字为student(必须出现在行首)的用户的帐号的相关信息, 文件为/etc/passwd

 grep '^student\>' /etc/passwd | cut -d: -f3

相关文章

  • 三剑客_grep

    grep grep 相关参数 grep + 正则表达式(扩展正则)

  • Linux简单学习记录(八)

    正则表达式和Shell脚本 一、正则表达式 1.grep与egrep工具 grep命令的格式grep [-cinv...

  • grep常用命令

    grep:支持基本正则表达式 egrep:支持扩展正则表达式,相当于grep -E fgrep:不支持正则表达式,...

  • Linux||正则表达式及grep命令

    以下内容首发自公众号“小汪Waud”。 本期介绍在Linux环境下的正则表达式及grep命令。 1 正则表达式 正...

  • 命令行学习笔记(搜索和压缩相关)

    grep pattern file -- 使用正则表达式搜索文本 grep -r pattern dir -- 递...

  • Linux 查看日志命令

    grep (global search expression print)全局正则表达式版本 直接grep gre...

  • 使用grep搜索多个字符串

    Grep的多条件搜索模式 grep支持三种正则表达式语法:Basic、Extended和Perl正则表达式。当没有...

  • 九、Linux文本过滤

    文本过滤grep: 语法格式:grep [选项] 基本正则表达式 [文件]常用的grep选项有:-c 只输...

  • 正则表达式

    1.正则表达式特殊符号 2.grep命令与正则表达式 grep [options] 3.字符组匹配 pattern...

  • bash编程-grep

    grep, egrep, fgrep :输出匹配模式的行 grep:支持基本正则表达式元字符(grep -E相当于...

网友评论

      本文标题:grep及正则表达式

      本文链接:https://www.haomeiwen.com/subject/hcugnftx.html