linux grep特定内容前后多少行,Linux中通过grep命令检索文件内容和指定内容前后几行...

Linux系统中搜索、查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索。

搜索某个文件里面是否包含字符串

命令格式:grep "被查找的字符串" filename1

例如:

grep "0101034175" /data/transaction.20170118.log

在多个文件中检索某个字符串

命令格式:

grep "被查找的字符串t" filename1 filename2 filename3 ...

grep "被查找的字符串" *.log

显示所检索内容在文件中的行数,可以使用参数-n

命令格式: grep -n "被查找的字符串" *.log

检索时需要忽略大小写问题,可以使用参数“-i”

命令格式: grep -i "被查找的字符串" *.log

从文件内容查找不匹配指定字符串的行

命令格式:grep –v "被查找的字符串" 文件名

搜索、查找匹配的行数:

命令格式:

grep –c "被查找的字符串" 文件名

grep "被查找的字符串" 文件名 | wc -l

递归搜索某个目录以及子目录下的所有文件

命令格式:grep –r "被查找的字符串" 文件目录

获取哪些文件包含搜索的内容,并列出文件名

命令格式:grep -H –r "被查找的字符串" 文件目录 | cut -d: -f1 [| uniq]

例如:

grep -H -r "v\$temp_space_header" /u01/app/Oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1

grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq

获取与整个搜索字符匹配的内容

命令格式:grep –w "被查找的字符串" 文件名

grep命令与find 命令的结合,实现联合检索

命令格式:find . -name '*.sql' -exec grep -i '被检索内容' {} \; -print

例如:

find . -name '*.sql' -exec grep -i 'v\$temp_space_header' {} \; -print

其他:

如果要获得一个文件中的最后几行,使用tail命令就可以很方便的实现。但在有些时候,会需要用到如标题中所描述的功能。

我举一个具体的例子:在打印日志堆栈信息时,就是在字符串“exception” 之后的几行,但这整个部分是在文件的中间,如果将这部分数据提取出来呢?

使用grep命令可以比较轻松达到目的,具体使用如下:

01

$grep-A|B n"key"file

其中:

A:表示在字符串之后 after  context

B:表示在字符串之前 before context

n:要获取多少行文本 line number

key:为要查找的字符串

file:文件名

比如上面提到的例子中,可以使用如下命令获取弹性常数:

0

grep -A 10 -B 10 -i “key” filename

-i表示忽略大小写。

获取的几行文本可以通过管道传递给其他命令进行进一步的提取或使用。

举个例子:

要获取日志中包含“exception”字符串的后边20行堆栈信息:

命令:

grep -A 20 -i "exception" filename

结果如下:

那如果我们想获取异常日志的前10行和后10行,不用加-A和-B,使用如下命令就可以了:

grep -10 -i "exception" filename

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

版权声明:本文为CSDN博主「蜡笔zlx」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/zhaolixin0726/article/details/53123453

Linux中利用grep命令如何检索文件内容详解

前言 Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索.下面来一起看看Linux利用grep命令检索文件内容的详细介绍. 方法 ...

linux(centos8):用grep命令查找文件内容

一,grep的用途: linux平台有最常用的三大文本处理工具:awk/sed/grep grep的功能:搜索指定文件的内容,按照指定的模式匹配,并输出匹配内容所在的行. 需要注意的地方:grep只支 ...

Unix/Linux中的grep命令(转)

本文转载自:如何使用Unix/Linux grep命令——磨刀不误砍柴工系列.该博文条理很清晰. grep简介 grep在一个或多个文件中查找与模式字符串(pattern)匹配的行,并将搜索的结果打印 ...

Linux 中的 grep 命令

一,grep命令有什么用 个人觉得grep命令就是一个对文本或输出进行匹配并控制输出的一个工具,看一下下面的参数,部分翻译了,有不对的地方,还请指正: grep --help 匹配模式选择: -E,  ...

Linux中的grep 命令

介绍grep文本处理命令,它也可以解释正则. 常用选项: -E :开启扩展(Extend)的正则表达式. -i :忽略大小写(ignore case). -v :反过来(invert),只打印没有匹配 ...

Linux基础教程 linux中使用find命令搜索文件常用方法记录

find是linux非常强大的搜索命令,通过man find查看find手册,可以发现find的说明一屏接一屏,估计要看完也得花不少时间.兄弟连Linux培训 小编总结了下,整理出find常用的使用方 ...

Linux 中的grep命令单引号,不加任何参数以及双引号的作用

单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么.单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换. 双引号: 把双引号内的 ...

linux中使用rm命令将文件移到回收站的方法

今天在终端下,看到我的用户目录下有个-的文件夹(maven生成),相要删除收回点空间,习惯性的用命令 rm -rf ~ ,一回车,猛然想起的时候已经来不及了,世界一下子清静了,想死的心都有了! 没错, ...

linux中的grep命令用法

原文请移驾:http://blog.csdn.net/greytree/article/details/428532 grep -- print lines matching a pattern (将 ...

随机推荐

odoo8.0 win7 64位 安装配置(补遗)

各种参考博客资源--http://www.cnblogs.com/yiguxianyun/p/6256641.html 最开始蛋疼问题的是安装各种site-packages! 云盘里面有些win764 ...

js实现一些跨浏览器的事件方法

用JavaScript实现事件的绑定,移除,以及一些常用的事件属性的获取,时常要考虑到在不同浏览器下的兼容性,下面给出了一个跨浏览器的事件对象: var EventUtil = { on: funct ...

【JVM】2、关于jdk7的MethodHandle类

关于MethodHandle类,这个类是在jdk1.7之后加入的,这个类的作用类似函数指针的意思 这个类中有一个方法 这里我的jdk有一个问题,就是我在进行MethodHandle操作的时候,我们会发 ...

怎样Zbrush 4R7中添加和删除SubTool

添加或删除SubTool在ZBrush®软件中是非常简单易操作的,通常在用SubTool面板已经给我们提供了相应的命令来对其进行操作,它能够将一个或多个格式为ZTL的文件同时添加进SubTool里. ...

Rotate String

Given a string and an offset, rotate string by offset. (rotate from left to right) Example Given &qu ...

B. Lynyrd Skynyrd

传送门: 题意:给出 n,m,q 然后给出模板串,从1-n数字只出现一次,然后给出长度为m的要询问的串. q组询问:每组询问输出 ‘1’或者‘0’ 每组询问 一对x,y    问在x到y中有没有模板串 ...

STM32F103驱动GT911

0x00 引脚连接: // SCL-------PB10 // SDA-------PB11 // INT--------PB1 // RST--------PB2 IIC的SCL与SDA需要接上拉电 ...

Numpy 模块的应用

数据分析三剑客: Numpy, Pandas, Matplotlib NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数 ...

【python练习题】程序10

#10.题目:暂停一秒输出,并格式化当前时间. import time print(time.time())#timestamp print(time.localtime(time.time()))# ...

iOS Icon Size 快速得到三种大小的图标

在iOS开发中,按钮图标可以放三种大小,常见的是22x22,44x44,66x66,一般来说我们可以在PS中做好图片后,再分别导出三种大小的图标,但是每次要修改图片的大小,操作比较繁琐.这里博主推荐一 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值