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 http://www.linuxidc.com/Linux/2015-12/126259.htm
grep正则表达式 http://www.linuxidc.com/Linux/2015-09/123035.htm
Linux中正则表达式与文件格式化处理命令(awk/grep/sed) http://www.linuxidc.com/Linux/2013-03/81018.htm
Linux基础之grep和正则表达式 http://www.linuxidc.com/Linux/2016-10/136250.htm
14 个 grep 命令的例子 http://www.linuxidc.com/Linux/2015-05/117626.htm
Linux文本处理工具grep和正则表达式及egrep与grep区别 http://www.linuxidc.com/Linux/2016-08/134046.htm
Linux基础之-正则表达式(grep,sed,awk) http://www.linuxidc.com/Linux/2017-05/144221.htm
Linux文本处理工具及grep http://www.linuxidc.com/Linux/2017-03/142277.htm
正则表达式与grep和sed http://www.linuxidc.com/Linux/2017-10/147269.htm
grep命令中文手册(info grep翻译) http://www.linuxidc.com/Linux/2017-09/146645.htm
grep 命令系列:如何在 UNIX 中根据文件内容查找文件 http://www.linuxidc.com/Linux/2016-01/128017.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148390.htm