Linux命令学习——grep 专题

grep命令
Linux grep命令用于查找文件里符合条件的字符串。

1.在指定文本中寻找符合条件的文本行 grep
以在catalina.out文件中查找保存为例:

grep ‘match_pattern’ file_name
grep ‘Method “saveData” failed for object com.fh.iasp.app.cm.client.v2.action’ catalina.out
仅会包含指定信息的文本行

grep.png
2.输出文本行和行数 grep -n
grep -n ‘match_pattern’ file_name
grep -n ‘Method “saveData” failed for object com.fh.iasp.app.cm.client.v2.action’ catalina.out
会在文本行前面加上行数

grep -n.png
3.输出文本行行数 grep -c
grep -c ‘match_pattern’ file_name
grep -c ‘Method “saveData” failed for object com.fh.iasp.app.cm.client.v2.action’ catalina.out
仅输出文本行行数的和

grep -c.png
4.输出文本行及其上下相关文本 grep -A -B -C
grep -A 5 ‘match_pattern’ file_name —之后5行
grep -A 5 ‘Method “saveData” failed for object com.fh.iasp.app.cm.client.v2.action’ catalina.out

grep -B 5 ‘match_pattern’ file_name —之前5行
grep -B 5 ‘Method “saveData” failed for object com.fh.iasp.app.cm.client.v2.action’ catalina.out

grep -C 5 ‘match_pattern’ file_name —前5行后5行
grep -C 5 ‘Method “saveData” failed for object com.fh.iasp.app.cm.client.v2.action’ catalina.out

grep -C
5.标记匹配的文本行 grep --color=auto
grep -n -C 5 ‘match_pattern’ file_name --color=auto —前5行后5行并标记符合条件的文本
grep -n -C 5 ‘Method “saveData” failed for object com.fh.iasp.app.cm.client.v2.action’ catalina.out --color=auto
如图可以看书match_pattern 部分被标记了颜色

color=auto.png
6.以递归的方式查找符合条件的文件 grep -r
grep -r ‘match_pattern’ path —path为空则默认当前目录
grep -r ‘aaa’
查找当前文件夹及子文件夹下所有符合条件的文本及文本行

grep -r.png
7.忽略大小写 grep -i
grep -r ‘aaa’ -i

8.包含或排除指定文件 grep --include --exclude
–include file 仅在指定文件中查找,后面可接多个文件
–exclude file 排除指定文件

grep ‘aaa’ . -r --include *.md --include *.txt ----尽在以md和txt结尾的文件中查找
grep ‘aaa’ . -r --exclude *.md ----在非md结尾的文件中查找
include-exclude.png
9.匹配多个文本 grep -e / -E
grep -e ‘match_pattern1’ -e ‘match_pattern2’ file —满足任一条件
grep -E ‘match_pattern11|match_pattern2’ file
grep -e ‘aa’ -e ‘dd’ . -r --exclude *.md

满足任一条件就会显示
会显示包含 aa 或者 dd 的非md文件

9.1如果要同时满足多个条件怎么搞?
解决方案:多用几个grep

grep ‘aa’ . -r --exclude *.md |grep ‘dd’

10.排除指定文本 grep -v
grep -v ‘match_pattern’ file_name
grep -v -n ‘aa’ 111.txt
会显示不包含aa的所有文本行

10.1如果要同时排除多个条件怎么搞?
解决方案:

grep -v -n ‘aa|d|c’ 111.txt
会排除aa d c的文本行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值