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

  Linux命令-文件文本操作grep  http://www.linuxidc.com/Linux/2015-12/126259.htm

  grep正则表达式 http://www.linuxidc.com/Linux/2015-09/123035.htm

  Linux中正则表达式与文件格式化处理命令(awk/grep/sed) http://www.linuxidc.com/Linux/2013-03/81018.htm

  Linux基础之grep和正则表达式 http://www.linuxidc.com/Linux/2016-10/136250.htm

  14 个 grep 命令的例子 http://www.linuxidc.com/Linux/2015-05/117626.htm

  Linux文本处理工具grep和正则表达式及egrep与grep区别  http://www.linuxidc.com/Linux/2016-08/134046.htm

  Linux基础之-正则表达式(grep,sed,awk)  http://www.linuxidc.com/Linux/2017-05/144221.htm

  Linux文本处理工具及grep  http://www.linuxidc.com/Linux/2017-03/142277.htm

  正则表达式与grep和sed  http://www.linuxidc.com/Linux/2017-10/147269.htm

  grep命令中文手册(info grep翻译)  http://www.linuxidc.com/Linux/2017-09/146645.htm

  grep 命令系列:如何在 UNIX 中根据文件内容查找文件 http://www.linuxidc.com/Linux/2016-01/128017.htm

  其他:

  如果要获得一个文件中的最后几行,使用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文章来源地址https://www.toymoban.com/news/detail-547985.html

到了这里,关于Linux中通过grep命令检索文件内容和指定内容前后几行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux命令小技巧:显示文件指定行的内容

    工作中会有很多千奇百怪的需求,比如:如何在 Linux 命令行中快速找到某个文件的第 n 行?如何显示从第 x 行到第 y 行之间的内容? 想要实现以上效果,其实有很多办法可以实现。 比如,假如要显示第 13 行内容,可以使用 head 命令组合 tail 命令,如下: 例如: 输出: 或者

    2024年02月11日
    浏览(51)
  • Linux grep从文件中查询关键词并返回其前后n行

    一、需求 从一个很大的文件里查找某个,并获取其前后的n行内容 二、实现 grep -A2 2 test.txt  返回匹配行和匹配行的后两行 grep -B2 2 test.txt  返回匹配行和匹配行的前两行 grep -C2 2 text.txt 或者 grep -A2 -B2 2 test.txt 返回匹配行和匹配行的前后两行 -A -B -C 后面跟阿拉伯数字

    2024年02月17日
    浏览(47)
  • Linux下查找文件(find、grep命令)

    目录 一、find命令 1.按文件名 2.按文件类型查询 3.按照文件大小查找 4.按照文件日期查找 4.1按照创建日期查找 4.2按照修改日期查找 4.3按照访问日期查找 5.按深度查找 5.1查找起始点以下n层的目录,不超过n层  5.2搜距离起始点n层以下的目录(即最少n层) 6.高级查找 6.1-exec  

    2024年01月16日
    浏览(139)
  • linux 查看文件/grep字符串匹配命令

    cat 用于连接文件并打印到标准输出。可以用 cat 命令将多个文件合并成一个文件,也可以用它来查看单个文件的内容。常用的选项包括 -n (显示行号)和 -b (显示非空行号) ,例如 cat -n file.txt 可以显示文件的内容,并在每行开头显示行号。 more 用于分页显示文本文件的内

    2024年02月07日
    浏览(50)
  • linux怎么不解压,直接查看 gz压缩文件内容,以及grep查看需要的关键词

    可以使用以下命令来查看 gz 压缩文件的内容: 该命令会将 file.gz 文件解压并输出到标准输出,可以通过管道符将其与 grep 命令结合使用来查找需要的,例如: 该命令会将 file.gz 文件解压并输出到标准输出,然后通过管道符将其传递给 grep 命令,查找包含 “ke

    2024年02月11日
    浏览(50)
  • Linux 搜索文件中find和grep命令的区别

    在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定

    2024年02月16日
    浏览(81)
  • Linux命令_grep & 快速查找关键字、文件名

    目录 1. 语法 1.1. 常用参数 2. 常见用法 2.1. 查找 2.2. 取反 2.3. 额外输出上下 2 行 2.4. 额外输出上面 1 行 2.5. 额外输出下面 1 行 2.6. 输出总行数 2.7. 输出行号 2.8. 忽略大小写 2.9. 正则匹配 3.组合使用 4. 文本三剑客其他命令                  

    2024年01月17日
    浏览(75)
  • linux中通过.desktop文件执行bash命令打开chrome浏览器并传参

    Ecex 参数介绍 Code 描述 %f %f指向临时文件。用于不了解URL语法的程序。 %F 文件列表。用于可以一次打开多个本地文件的应用程序。每个文件作为单独的参数传递给可执行程序。 %u 单一的URL或者本地文件 %U %u的复数 %i 如果Icon 为空,不应该填写此参数。一般也不用 %c Name键中的

    2024年02月15日
    浏览(48)
  • Linux输出内容到指定文件

    区别: 是把输出转向到指定的文件。注意:如文件已存在的话会重新写入,文件原内容不会保留。 是把输出附加到文件的后面,文件原内容会保留下来。 例子: 命令作用: 在输出信息的同时把信息记录到文件中。 例子: 命令作用: 将终端上所有内容记录到文件中 例子:

    2024年02月10日
    浏览(44)
  • linux 根据指定内容搜索所有文件

    在Linux中,你可以使用 grep 命令来搜索包含指定内容的文件。 grep 命令用于在文件中搜索指定的模式,并将匹配的行打印出来。 下面是使用 grep 命令搜索所有文件的示例: 在上面的命令中, -r 选项表示递归地搜索目录下的所有文件, \\\"指定内容\\\" 是你要搜索的内容, /path/to

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包