grep命令能做什么?
查找指定的字符串,就像 Ctrl+F
grep与sed、awk合称为Linux中的三剑客。有时间可以再学习剩余的两个
grep是一个可以利用”正则表达式”进行”全局搜索”的工具,当然不使用正则表达式时也可以使用grep,但是当grep与正则表达式结合在一起时,威力更强大。
cat package.json // 输出package.json文件全部文件内容
grep "storage" package.json // 输出package.json文件匹配到'storage'的那一行的内容,默认区分大小写的
grep "storage" package.json -i // ”-i” 不区分大小写 位置放在哪里都可以
grep "storage" package.json -n // ”-n” 显示文本所在的行号
grep 'xxx' web.log | tail -1 // 查询匹配到的最后一条
// 下面就简单写
-–color // 高亮 两个-
-c // 输出匹配到的总行数
-o // 只是输出匹配到的文案 这种我个人理解用正则的话会比较有用,字符串的查询的话,那肯定都一样的
-B "B"有before之意【之前】, -B5″代表同时显示之前的5行,”-B3″代表同时显示之前的3行,”-B”选项的后面必须有数字,否则会报错。
-A "-A"有After之意【之后】,
大写AB表示 之前之后,小写ab就是前后都包括了,我试了一下,输出是不一样的,不信可以试试
-w ”-w”有word之意 精确匹配,
-v 查找”不包含某个字符串”的行 除了你查询的都输出打印了
-e 使用”-e”选项可以同时匹配多个目标,类似连接符号了,就是多个查询条件被 grep package.json -e 'a' -e'b' --color
-q:静默模式, 配合 使用”echo $?,”查看是否匹配到,只关心有没有匹配到而已,0表示匹配到,1表示没有匹配到。
-P:表示使用兼容perl的正则引擎。
-E:使用扩展正则表达式,而不是基本正则表达式,在使用”-E”选项时,相当于使用egrep。