Linux中利用grep命令如何检索文件内容详解
前言
Linux系统中搜索、查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索。下面来一起看看Linux利用grep命令检索文件内容的详细介绍。
方法如下:
1、搜索某个文件里面是否包含字符串
命令格式:grep"被查找的字符串"filename1
例如:
grep"0101034175"/data/transaction.20170118.log
2、在多个文件中检索某个字符串
命令格式:
- grep"被查找的字符串t"filename1filename2filename3...
- 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'-execgrep-i'被检索内容'{}\;-print
例如:
find.-name'*.sql'-execgrep-i'v\$temp_space_header'{}\;-print
Linuxgrep和find的区别
这是两个不同的命令,关于grep:
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。
而linux下的find(具体使用方法可以参考这里:https://www.nhooo.com/article/108198.htm)
功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
语法:find起始目录寻找条件操作
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。
所以简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。