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 

grep正则表达式

Linux中正则表达式与文件格式化处理命令(awk/grep/sed)

Linux基础之grep和正则表达式

14 个 grep 命令的例子

Linux文本处理工具grep和正则表达式及egrep与grep区别 

Linux基础之-正则表达式(grep,sed,awk) 

Linux文本处理工具及grep   

正则表达式与grep和sed 

grep命令中文手册(info grep翻译) 

grep 命令系列:如何在 UNIX 中根据文件内容查找文件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13241.html