Grep with Regular Expression

grep命令基本用法

grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名
参数说明:

-a:将二进制文档以文本方式处理
-c:显示匹配次数
-i:忽略大小写差异
-n:在行首显示行号
-A:After的意思,显示匹配字符串后n行的数据
-B:before的意思,显示匹配字符串前n行的数据
-v:显示没有匹配行
--color:以特定颜色高亮显示匹配关键字

针对“–color”选项,在.bashrc或者.bash_profile文件中加入:alias grep=grep --color=auto,生效后,grep的搜索结果自动高亮匹配。
针对‘搜寻字符串’选项,使用正则表达式时必须用单引号(’’)括起来,避免与shell的元字符冲突。

基本正则表达式

^word
搜寻以word开头的行。
例如:搜寻以#开头的脚本注释行。 grep –n ‘^#’ regular.txt

word$
搜寻以word结束的行
例如,搜寻以‘.’结束的行。 grep –n ‘.$’ regular.txt

.
匹配任意一个字符。
例如:grep –n ‘e.e’ regular.txt
匹配e和e之间有任意一个字符,可以匹配eee,eae,eve,但是不匹配ee。

\
转义字符。
例如:搜寻’,’是一个特殊字符,在正则表达式中有特殊含义。必须要先转义。 grep –n ‘\” regular.txt

*
前面的字符重复0到多次。
例如:匹配gle,gogle,google,gooogle等等。 grep –n ‘go*gle’ regular.txt

[list]
匹配一系列字符中的一个。
例如:匹配gl,gf。  grep –n ‘g[lf]’ regular.txt

[n1-n2]
匹配一个字符范围中的一个字符。
例如:匹配数字字符。  grep –n ‘[0-9]’ regular.txt

[^list]
匹配字符集以外的字符
例如:匹配非o字符。  grep –n ‘[^o]‘ regular.txt

\{n1,n2\}
前面的字符重复n1,n2次
例如:匹配google,gooogle。 grep –n ‘go\{2,3\}gle’ regular.txt

\<word
单词是的开头。
例如:匹配以g开头的单词。 grep –n ‘\<g’ regular.txt

word\>
匹配单词结尾
例如:匹配以tion结尾的单词。 grep –n ‘tion\>’ regular.txt

扩展正则表达式

在基本正则表达式的基础上,增加一些元数据,简化了字符串的匹配。grep可以通过参数-E支持扩展正则表达式。
egrep是grep的一个扩展命令,和grep -E等价,用来支持扩展正则表达式。

+
重复前面字符1到多次。
例如:匹配god,good,goood等等字符串。 grep –nE go+d’ regular.txt

?
匹配0或1次前面的字符
例如:匹配gd,god。 grep –nE ‘go?d’ regular.txt

| 或(or)的方式
匹配多个字串
例如:匹配god或者good。 grep –nE ‘god|good’ regular.txt

()
匹配整个括号内的字符串,原来都是匹配单个字符
例如:搜寻good或者glad。 grep –nE ‘g(oo|la)d’ regular.txt

Linux - 结合正则表达式使用grep命令的更多相关文章

  1. Linux学习笔记之grep命令和使用正则表达式

    0x00 正则表达式概述 正则表达式是描述一些字符串的模式,是由一些元字符和字符组成的字符串,而这些元字符是一些表示特殊意义的字符,即被正则表达式引擎表达的字符表示与其本意不同的一些字符. 0x01  ...

  2. Linux中find、grep命令详细用法

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 ...

  3. linux下find和grep命令详解

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 ...

  4. Linux基础-正则表达式整理---------------grep、sed、awk

    目录:    Ⅰ:正则表达式    Ⅱ:作业 Ⅰ:正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在lin ...

  5. 【Linux】- ps -ef |grep 命令

    ps:将某个进程显示出来 grep:查找 |:管道命令 表示ps命令与grep同时执行 PS是LINUX下最常用的也是非常强大的进程查看命令 grep命令是查找,是一种强大的文本搜索工具,它能使用正则 ...

  6. linux的管道 |和grep命令以及一些其他命令(diff,echo,cat,date,time,wc,which,whereis,gzip,zcat,unzip,sort)

    linux提供管道符号“|”,作用是命令1的输出内容作为命令2的输入内容.通常与grep命令一起使用. 格式:命令1 |命令2 grep命令:全称为global regular expression ...

  7. Linux安全基础:grep命令的使用

    grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的 ...

  8. 正则表达式2——grep命令

    grep是Global search Regular Expression and Print out the line的简称. 1. grep命令基本用法 命令格式: grep [选项][模式][文 ...

  9. 07: linux中正则表达式与grep使用

    1.1 linux中正则表达式 1.^linux        以linux开头的行 2.$php         以php结尾的行 3..                匹配任意单字符 4..+  ...

随机推荐

  1. ELK填坑总结和优化过程

    做了几周的测试,踩了无数的坑,总结一下,全是干货,给大家分享~ 一.elk 实用知识点总结 1.编码转换问题(主要就是中文乱码) (1)input 中的codec => plain 转码 cod ...

  2. 小强学渲染之OpenGL的CPU管线

    读到这里,应该对OpenGL渲染管线有了初步简单了解.下面着重分析CPU管线,即逻辑控制中心做了什么,这部分还是容易理解的.如下图: 一,将数据加载到显存中. 这是由GPU是访问显存中的数据决定的.因 ...

  3. java正则积累

    1. [.]点:再分割的时候不可以直接使用点,需要加上 \\ 转义才可以得到想要的结果,否则输出的时候会报异常 数据下标越界 String[] split = "output.txt&quo ...

  4. python 函数编程

    def test1(): print('in the test1') def test2(): print('in the test2') return 1 def test3(): print('i ...

  5. [leetcode]364. Nested List Weight Sum II嵌套列表加权和II

    Given a nested list of integers, return the sum of all integers in the list weighted by their depth. ...

  6. face_recognition 相关依赖

    centos-v:7 python-v:3.7 IDE:pycharm 安装顺序: boost boost-py cmake numpy opencv-python scipy 安装方法:settin ...

  7. [树状数组+逆序对][NOIP2013]火柴排队

    火柴排队 题目描述 涵涵有两盒火柴,每盒装有n根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:∑ (ai-bi)2,i=1,2,3,. ...

  8. Apache Beam编程指南

    术语 Apache Beam:谷歌开源的统一批处理和流处理的编程模型和SDK. Beam: Apache Beam开源工程的简写 Beam SDK: Beam开发工具包 **Beam Java SDK ...

  9. netty2 案例:数据通信

    在实际的项目中应该如何使用netty去通信呢? 一般来说,会有以下三种情况, 1长连接 也就是服务器和客户端的通道一直不关闭,如果服务器性能非常好,并且在客户端数量不是很多的情况下,可以选择使用这种方 ...

  10. Rsync常见错误和问题

    五.常见问题 以下是为配置rsync时的常见问题: 问题一:@ERROR: chroot failedrsync error: error starting client-server protoco ...