目录
基础
搜索指定文件的包含aaa的行#
grep ‘aaa’ test.txt
不加引号也一样,但如果aaa的值和liunx的一些关键字相同就必须带''
grep aaa test.txt
grep参数
#可以通过grep --help可查看
-r:搜索子目录
-d:不搜索子目录
-c:只输出匹配行的计数。
-C:匹配的上下文分别显示[number]行
-i:不区分大小写。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-L:列出不匹配的文件名
-w:只匹配整个单词,如 hello不匹配helloabc
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
项目常用
搜索包含915RRRAAA的上下30行,如果上下30有重复的话 就会连在一起不会重复打印
grep -C 30 915RRRAAA catalina.out
搜索包含915RRRAAA的下10行,如果下10行有重复的话 也不会重复打印
并输入(重定向>)到test.txt文本中
grep -A 10 915RRRAAA catalina.out>test.txt
# 下载test.txt到本地查看 (rz -y 是上传)
sz test.txt
搜索日志最后10000行中包含915RRRAAA的的下10行 | 是前一部分的输出作为输入到下一部分
tail -10000 catalina.out|grep -A 10 915RRRAAA
展示当前目录下包含915RRRAAA的所有文件名
grep -l 915RRRAAA *
如果当前目录下有文件夹的话会提示
如果想搜索文件夹下是否有包含 915RRRAAA的文件下 就要加上一个参数r,-lr和-rl效果相同
展示当前目录以及其子目录下所有包含915RRRAAA内容的文件名称
grep -rl 915RRRAAA *
grep -lr 915RRRAAA *
想搜索文件夹下面是否含有关键字显示目录和行数
grep -rn 915RRRAAA *
grep -nr 915RRRAAA *