文章目录
1. 基本用法
- 使用man grep可以查看linux自带的帮助文档
gvim打开卡,cat可以在terminal中快速打开文本
grep "word" target.txt
//在 target.txt中找word单词
grep "word" target1.txt target2.txt
//在 target1、2.txt中找word单词
grep "word" -r ./
//在当前目录下所有文件找word单词
grep -i "word" -r ./
//在当前目录下所有文件找word单词,忽略大小写
cat target.txt | grep -i "word"
// |是管道命令,将上个指令的结果所谓下个指令的输入
2.字符转义
有三种:” ‘ \
1.如何查双引号
grep \" 1.txt
2.如何查\
grep \\\\ 1.txt
grep -F '\' 1.txt
//-F表示以字符的方式读取
grep ’\\‘ 1.txt
3.如何查单引号
grep \’ 1.txt
3.二进制文件查找
Linux二进制文件指的是可执行文件,即计算机可以直接执行的程序。二进制文件是按信息在内存中的格式表示的文件,通常不能直接查看,而必须使用相应的软件来查看。
grep -a "word" wordexe
4.打印目标字段的附近行
-A2
//打印之后的若干2行
-Bn
//打印之前的n行
-C2
//打印前后的2行
4. 多条件过滤
-e 表示或关系
借助管道符多个-e级联可以等价实现与
如下图,三个-e可以从1,txt中以或的关系筛选出行
更进一步地,利用管道操作,可以实现与的过滤。先过滤出包含hello的,用这个结果再进一步过滤包含zhouge的
5. 目录中过滤——用于在文件夹中筛选/排除指定后缀文件
grep "word" -r ./
-r --include="*.v"
-r --include=*.{php,html}
过滤以,v
过滤以php/html为后缀的文本
-r --exclude=.txt
除了以txt为后缀的其他都查
-r --exclude-dir=.svn
除了svn文件夹内部的其他都查
-r --exclude-from=filelist
将要排除的文件写入一个filelist中
-r --exclude-from=filelist
将要排除的文件写入一个filelist中