grep命令是文本过滤命令,会逐行扫描输入的文本。对于每一行,它都会尝试使用编译好的正则表达式进行匹配。grep与egrep的区别,egrep支持扩展正则,扩展正则比基本正则多几个元字符,可以表示更加深的意义。grep加上-E选项也可以支持扩展正则。以下是grep命令的基本用法:
1. 查找单个单词
grep "hello" test.txt
2.查找多个单词
使用管道符(|)将多个字符串组合在一起
grep "hello\|world" test.txt
3.选项
3.1 -i 查找时不区分大小写
3.2 -n 显示出行号
3.3 -o 仅仅只显示匹配的单词
3.4 -v 取反
3.5 -c 统计出符合的次数
3.6 -A 2 显示找到的单词的后面2行
3.7 -B 2 显示找到的单词的前面2行
3.8 -C 2 显示找到的单词的前面和后面2行
3.9 -r 递归查找,可以查找文件的内容
grep -r "hello" /home/test/shell/
3.10 限制搜索的文件类型 --include,例如查找txt文件类型
grep "hello" --include "*.txt" /home/user/*