Linux 中Grep的那些事儿

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,或者存储到相关的文件中。

贼6贼6贼6的~  重要的事情说三遍,以前不太在意,只有真正遇到批量或者筛选的时候,才会发现,grep会比excel更优秀,更好用~

Linux中的Grep基本语法

语法解析

      -E :开启扩展(Extend)的正则表达式。
  -i :忽略大小写(ignore case)。
  -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
  -n :显示行号
  -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker
  -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
  -o :只显示被模式匹配到的字符串。

  --color :将匹配到的内容以颜色高亮显示。
  -A  n:显示匹配到的字符串所在的行及其后n行,after
  -B  n:显示匹配到的字符串所在的行及其前n行,before
  -C  n:显示匹配到的字符串所在的行及其前后各n行,context

语法不多bb,作为一名开发程序猿,我觉得知道一部分就足够了,为了节约时间,减少工作量,少写一些什么程序、代码,一两条命令全部搞定,是不是很棒?

常用用法

1、过滤文件中,单个条件

# 显示过滤条件的内容
cat test.txt | grep "hello"
# 显示过滤条件及行号
cat test.txt | grep -n "hello"

  

2、过滤多个条件(“&&”和“||”)

2.1、与条件(多个条件同时满足)

# 显示过滤两个字段
cat test.txt | grep "hello" | grep "you"

#显示过滤多个字段
cat test.txt | grep "hello" | grep "you" | grep ...

  

2.2、或条件(任意条件满足即可)

# 匹配多个条件满足其中之一即可
grep -E "hello | you" test.txt

# 匹配多个条件满足其中之一即可
grep -E "hello | you | ka" test.txt

# 匹配多个条件满足其中之一即可
grep -E "hello | you | ka | ..." test.txt

   

3、反选过滤,不包含过滤

# 匹配不包含这些关键字符
grep -v "hello \| you " test.txt

# 匹配不包含这些关键字符(n个)
grep -v "hello \| you \| ka \| .." test.txt

   

 

ok,就到这里了,方便~ 快捷的过滤方法,赶超Excel~ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MrZhangBaby

请博主喝杯奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值