Linux中利用grep命令如何检索文件内容详解
前言
Linux系统中搜索、查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索。下面来一起看看Linux利用grep命令检索文件内容的详细介绍。
方法如下:
1、搜索某个文件里面是否包含字符串
命令格式:grep "被查找的字符串" filename1
例如:
|
1
|
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]
例如:
|
1
2
3
|
grep -H -r "v\$temp_space_header" /u01/app/Oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1grep -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
例如:
|
1
|
find . -name '*.sql' -exec grep -i 'v\$temp_space_header' {} \; -print |
Linux grep和find的区别
这是两个不同的命令,关于grep:
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
而linux下的find(具体使用方法可以参考这里://www.jb51.net/article/108198.htm)
功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
语法:find 起始目录 寻找条件 操作
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。
所以简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件
Linux中利用grep命令如何检索文件内容详解的更多相关文章
- Linux中让alias设置永久生效的方法详解
Linux中让alias设置永久生效的方法详解 一.问题描述 1.有很多时候我们想要将很多操作作为一个步骤,那么在不作为系统的服务的情况下,别名是我们最好的选择,但是发现别名只能在一次会话中生效,重启 ...
- Linux中通过grep命令检索文件内容和指定内容前后几行
原文链接: https://www.linuxidc.com/Linux/2017-11/148390.htm Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命 ...
- Unix/Linux中的grep命令(转)
本文转载自:如何使用Unix/Linux grep命令——磨刀不误砍柴工系列.该博文条理很清晰. grep简介 grep在一个或多个文件中查找与模式字符串(pattern)匹配的行,并将搜索的结果打印 ...
- Linux 中的 grep 命令
一,grep命令有什么用 个人觉得grep命令就是一个对文本或输出进行匹配并控制输出的一个工具,看一下下面的参数,部分翻译了,有不对的地方,还请指正: grep --help 匹配模式选择: -E, ...
- linux中的strip命令简介------给文件脱衣服
1.去掉-g,等于程序做了--strip-debug2.strip程序,等于程序做了--strip-debug和--strip-symbol 作为一名Linux开发人员, 如果没有听说过strip命令 ...
- linux中的strip命令简介------给文件脱衣服【转】
转自:http://blog.csdn.net/stpeace/article/details/47090255 版权声明:本文为博主原创文章,转载时请务必注明本文地址, 禁止用于任何商业用途, 否则 ...
- 【linux相识相知】磁盘分区及文件系统管理详解
磁盘,提供持久的数据存储,它不像我们的内存,如果突然断电了,在内存中的数据一般都会被丢掉了,内存中的数据在保存的时候,会被写到硬盘里面,磁盘也是一种I/O设备. 我们都知道磁盘分区完成之后,还要进行格 ...
- Linux中link,unlink,close,fclose详解
每一个文件,都可以通过一个struct stat的结构体来获得文件信息,其中一个成员st_nlink代表文件的链接数. 当通过shell的touch命令或者在程序中open一个带有O_CR ...
- 在Linux中利用Service命令添加系统服务及开机自启动
有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务 主要用三种方式进行这一操作: ln -s 在/etc/rc.d/rc*.d目录中建立/e ...
随机推荐
- 2018-08-16 中文代码之Spring Boot添加基本日志
之前中文代码之Spring Boot实现简单REST服务的演示服务不知为何中止. 新开issue: 演示服务中止 · Issue #2 · program-in-chinese/programming ...
- Redis 保护模式
默认 redis 启用了保护模式,即如果是远程链接不能进行 CRUD 等操作,如果进行该操作报错如下 (error) DENIED Redis is running in protected mode ...
- VRRP技术总结和配置实践
1.VRRP作为网关可靠性的常用方法,基本思路是,两台路由器组成一个虚拟路由器,通过VRRP协议对内网呈现一个虚拟的网关ip, 以便让局域网内部的终端通过这个虚拟网关对外进行通信. 2.VRRP的最简 ...
- Vue项目用于Ios和Android端开发
起因 前公司商城App项目使用的是H5开发,有微信公众号.Ios和Android三个版本,H5版本是自己写的一套框架,已经用了有些年头了,承载不下不断涌现出的新需求.而Ios和Android端通过we ...
- 直接通过Binder的onTransact完成跨进程通信
1.具体代码: 服务端实现: public class IPCService extends Service { private static final String DESCRIPTOR = &q ...
- Web前端:博客美化:四、网易云音乐单曲播放器
1.页面定制CSS代码 /*3.音乐播放器*/ .content-wrap { overflow-y: scroll; -webkit-overflow-scrolling: touch; } /* ...
- 腾讯云Centos安装gitlab
参考了网上很多人写的安装教程,结果并不好,最后阅读了官方的英文api,才安装成功,这里记录下来,方便以后使用.我的安装环境为腾讯云主机Centos7.3 64bit gitlab官方api地址点我试试 ...
- java笔记----java新建生成用户定义注释
${filecomment} ${package_declaration} /** * @author ${user} * @date 创建时间:${date} ${time} * @version ...
- java----JSTL学习笔记(转)
Java容器类包含List.ArrayList.Vector及map.HashTable.HashMap.Hashset ArrayList和HashMap是异步的,Vector和HashTable是 ...
- python3 requests + BeautifulSoup 爬取阳光网投诉贴详情实例代码
用到了requests.BeautifulSoup.urllib等,具体代码如下. # -*- coding: utf-8 -*- """ Created on Sat ...