前言linux
Linux系统中搜索、查找文件中的内容,通常最经常使用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索。下面来一块儿看看Linux利用grep命令检索文件内容的详细介绍。正则表达式
方法以下:sql
一、搜索某个文件里面是否包含字符串bash
命令格式:grep "被查找的字符串" filename1oracle
例如:app
1
|
grep
"0101034175"
/data/transaction
.20170118.log
|
二、在多个文件中检索某个字符串工具
命令格式:spa
三、显示所检索内容在文件中的行数,可使用参数-n.net
命令格式: grep -n "被查找的字符串" *.logcode
四、检索时须要忽略大小写问题,可使用参数“-i”
命令格式: grep -i "被查找的字符串" *.log
五、从文件内容查找不匹配指定字符串的行
命令格式:grep –v "被查找的字符串" 文件名
六、搜索、查找匹配的行数:
命令格式:
七、递归搜索某个目录以及子目录下的全部文件
命令格式:grep –r "被查找的字符串" 文件目录
八、获取哪些文件包含搜索的内容,并列出文件名
命令格式: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: -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
例如:
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是搜索匹配条件的文件