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

 更新时间:2017年11月08日 12:00:35   投稿:daisy  
这篇文章主要给大家介绍了关于Linux中利用grep命令如何检索文件内容的相关资料,并且给大家简单介绍了关于Linux grep和find的区别,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

前言

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

方法如下:

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

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

例如:

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

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

命令格式:

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

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

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

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

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

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

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

6、搜索、查找匹配的行数:

命令格式:

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

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

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

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

命令格式: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

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

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

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

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

例如:

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

Linux grep和find的区别

这是两个不同的命令,关于grep:

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

而linux下的find(具体使用方法可以参考这里:https://www.jb51.net/article/108198.htm

功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。

语法:find 起始目录 寻找条件 操作

说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。

所以简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • CentOS 6 启动流程详细介绍

    CentOS 6 启动流程详细介绍

    这篇文章主要介绍了CentOS 6 启动流程详细介绍的相关资料,这里对centos 启动进行了分析,希望能帮助到大家理解centos 启动流程,需要的朋友可以参考下
    2017-07-07
  • MySQL/MariaDB/Percona数据库升级脚本

    MySQL/MariaDB/Percona数据库升级脚本

    这篇文章主要介绍了MySQL/MariaDB/Percona数据库升级脚本的相关资料,需要的朋友可以参考下
    2016-12-12
  • Centos7添加静态路由的方法

    Centos7添加静态路由的方法

    本篇文章主要介绍了Centos7添加静态路由的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • LNMP系列教程之 SSL安装WordPress博客(程序下载与安装)

    LNMP系列教程之 SSL安装WordPress博客(程序下载与安装)

    在之前的文章中,老左已经在VPS中添加了站点,然后我们就需要传程序建站。我们可以利用WinSCP工具直接向我们的对应的站点目录中传程序,然后添加数据库安装网站
    2012-09-09
  • Ubuntu16.04上安装CUDA9.0 详细教程

    Ubuntu16.04上安装CUDA9.0 详细教程

    这篇文章主要介绍了Ubuntu16.04上安装CUDA9.0 详细教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • centos7系统下python2与python3共存

    centos7系统下python2与python3共存

    这篇文章主要给大家介绍了关于在centos7系统下python2与python3共存的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用centos7爬虫具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Linux CentOS7 用户组管理方式

    Linux CentOS7 用户组管理方式

    这篇文章主要介绍了Linux CentOS7 用户组管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    本文以tomcat8为例给大家介绍Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项,非常不错,需要的朋友参考下
    2019-10-10
  • 查看Linux OS内核与版本的几种命令分享

    查看Linux OS内核与版本的几种命令分享

    文章总结了四种在Linux操作系统中查看内核和版本的方法,并强调了个人经验的价值,鼓励大家参考和使用
    2024-11-11
  • Linux下redis的持久化、主从同步与哨兵详解

    Linux下redis的持久化、主从同步与哨兵详解

    这篇文章主要给大家介绍了关于Linux下redis的持久化、主从同步与哨兵的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01

最新评论