转载自:https://www.cnblogs.com/mfryf/p/3336288.html

inux grep 显示前后几行的信息
2016年03月02日 14:10:58 ChenHui246 阅读数:36516

grep 后面带上-A -B -C 参数可以多显示几行内容

grep -A 5 可以显示匹配内容以及后面的5行内容
grep -B 5 可以显示匹配内容以及前面的5行内容
grep -C 5 可以显示匹配内容以及前后面的5行内容

$ cat size.txt
b124230
b034325
a081016
m7187998
m7282064
a022021
a061048
m9324822
b103303
a013386
b044525
m8987131
B081016
M45678
B103303
BADc2345

$ cat size.txt | grep 'a022021'
a022021

$ cat size.txt | grep 'a022021' -C 2
m7187998
m7282064
a022021
a061048
m9324822

$ cat size.txt | grep 'a022021' -B 2
m7187998
m7282064
a022021

$ cat size.txt | grep 'a022021' -A 2
a022021
a061048
m9324822

转自:https://www.linuxidc.com/Linux/2015-03/114642.htm

来源:Linux社区  作者:diaoxuesong

参数说明:

n - 输出行号

r - 遍历

E - 使用正则表达式

如此就会将你要找的内容遍历出来,并列出文件名和行号。

转自:https://www.linuxidc.com/Linux/2013-08/88534.htm

grep使用简明及正则表达式

来源:Linux社区  作者:phenixikki

1、grep使用简明

使用基本正则表达式定义的模式来过滤文本,并将符合模式的文本行显示出来
grep [options] PATTERN [FILE...]

-i      :忽略大小写
--color  :符合模式的文本行显示颜色
-v      : 显示没有被模式匹配到的行
-o      :只显示被模式匹配到的字符串
-E      : 使用扩展正则表达式(= egrep)

2、基本正则表达式(PATTERN中的元字符匹配)
(1)字符匹配
.  : 匹配任意单个字符
[]  : 匹配指定范围内的任意单个字符
[^] :匹配指定范围外的任意单个字符

[[:digit:]]    :匹配数字 [0-9]
[[:lower:]]  :匹配小写字母 [a-z]
[[:upper:]]  :匹配大写字母 [A-Z]
[[:punct:]]  :匹配特殊字符
[[:space:]]  :匹配空格
[[:alpha:]]  :匹配字母 [a-zA-Z]
[[:alnum:]]  :匹配字母和数字 [0-9a-zA-Z]

(2)次数匹配
*      : 匹配其前面的字符任意次(0次-任意次)
.*      : 任意长度的任意字符
\?      : 匹配其前面的字符1次或0次
\{m,n\} : 匹配其前面的字符至少m次,至多n次
        例如  \{1,\}  :匹配其前面的字符至少1次
              \{0,3\} :匹配其前面的字符0到3次

(3)位置锚定
^      : 锚定行首
$      : 锚定行尾
^$      : 表示空白行

\<或\b    :锚定词首
\>或\b    :锚定词尾

(4)分组及后向引用
\(\)        :分组,将之后需要引用的内容分组囊括起来
\n      : 后向引用,即引用前面第n个括号内包含的所有内容

3、扩展正则表达式(PATTERN中的元字符匹配扩展)
(1)次数匹配
?        : 匹配其前面的字符1次或0次
+        : 匹配其前面的字符至少1次
{m,n}    : 匹配其前面的字符至少m次,至多n次

(2)分组及后向引用
()            :分组,将之后需要引用的内容分组囊括起来
\n      : 后向引用,即引用前面第n个括号内包含的所有内容

(3)或者
|        :匹配左边的字符串或者右边的字符串
        例如  B|boy  : B或boy

[转载]grep查看上下文及简单正则表达式的更多相关文章

  1. leetcode 10 Regular Expression Matching(简单正则表达式匹配)

    最近代码写的少了,而leetcode一直想做一个python,c/c++解题报告的专题,c/c++一直是我非常喜欢的,c语言编程练习的重要性体现在linux内核编程以及一些大公司算法上机的要求,pyt ...

  2. 转载:ubuntu 下添加简单的开机自启动脚本

    转自:https://www.cnblogs.com/downey-blog/p/10473939.html linux下添加简单的开机自启动脚本 在linux的使用过程中,我们经常会碰到需要将某个自 ...

  3. (转载)在vmware中简单配置vsftpd服务器

    (转载)http://blog.chinaunix.net/uid-7453676-id-2625582.html 分类: LINUX 一 试验的前期环境搭建   系统环境:Fedora 2   软件 ...

  4. linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)

    本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www. ...

  5. grep命令详解与正则表达式

    grep命令主要是做什么的呢 ?下面我们就来研究下. grep命令简单来说就是"过滤".就是把想看的数据通过grep过滤出来,把不想看的通过grep过滤掉. 它是一种强大的文本搜索 ...

  6. MySQL 查看表结构简单命令

    一.简单描述表结构,字段类型 desc tabl_name; 显示表结构,字段类型,主键,是否为空等属性,但不显示外键. 例如:desc table_name 二.查询表中列的注释信息 select ...

  7. 【转载】查看freebsd 服务器硬件信息

    http://3918479.blog.51cto.com/3908479/857900 查看服务器的cpu配置 Fb-bj138# dmesg | grep CPU CPU: Intel(R) Co ...

  8. 161215、MySQL 查看表结构简单命令

    一.简单描述表结构,字段类型desc tabl_name;显示表结构,字段类型,主键,是否为空等属性,但不显示外键.二.查询表中列的注释信息select * from information_sche ...

  9. linux利用grep查看打印匹配的下几行或前后几行的命令

    转自:http://www.itokit.com/2013/0308/74883.html linux系统中,利用grep打印匹配的上下几行   如果在只是想匹配模式的上下几行,grep可以实现.   ...

随机推荐

  1. MongoDB遇到的疑似数据丢失的问题。不要用InsertMany!

    最近做数据备份的时候发现了有个很严重的问题,那就是数据丢失(最后证明没丢,是别的问题造成的). 问题如下: 我通过两种方式在两个mongoDB集群中,对一组collection进行备份,最后2个备份数 ...

  2. android基本架构

    Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA ...

  3. PDF文档导出

    代码如下: /// <summary> /// 获取html内容,转成PDF(注册) /// </summary> public void DownloadPDFByHTML( ...

  4. 怎样从外网访问内网Jboss?

    本地安装了一个Jboss,只能在局域网内访问,怎样从外网也能访问到本地的Jboss呢?本文将介绍具体的实现步骤. 准备工作 安装并启动Jboss 默认安装的Jboss端口是8080. 实现步骤 下载并 ...

  5. hiho一下 第148周

    题目1 : Font Size 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Steven loves reading book on his phone. The b ...

  6. Docker学习笔记之浅谈虚拟化和容器技术

    0x00 概述 相信所有对 Docker 有所耳闻的朋友都知道,它是一款以容器虚拟化技术为基础的软件,因此在了解有关 Docker 的概念知识和使用方法之前,虚拟化和容器技术是我们不可或缺的基础知识. ...

  7. P2801 教主的魔法(分块)

    P2801 教主的魔法 区间加法,区间查询 显然就是分块辣 维护一个按块排好序的数组. 每次修改依然是整块打标记,零散块暴力.蓝后对零散块重新排序. 询问时整块二分,零散块暴力就好辣 注意细节挺多和边 ...

  8. Mysql 批量更新update的表与表之间操作

    Mysql 批量更新update的表与表之间操作 一.方法一 使用User2表数据更新User表: update User as a ,User2 as b set a.role_id=b.set_v ...

  9. SVN Attempted to lock an already-locked dir异常解决方法

    Attempted to lock an already-locked dir异常解决方法 eclipse或myeclipse用svn提交的时候报错: Attempted to lock an alr ...

  10. 【4Opencv】如何识别出轮廓准确的长和宽

    问题来源: 实际项目中,需要给出识别轮廓的长度和宽度. 初步分析: 轮廓分析的例程为: int main( int argc, char** argv ){    //read the image  ...