linux——grep

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

如下所示:

grep 最简单的使用方法是grep ”查询字符串“  ”查找的文件“,第一个例子是查询”test“字符,所以第一行被匹配出来了,如果要匹配到TEST,可以加-i,表示忽视大小写,如果要定位到匹配的行数,可以加-n。

  • -n

  • -c

如果要统计所有匹配到的行数可以用-c。注意,是行数不是个数。

  • -o

如果只想查询被匹配到的内容,可以选择-o。但是-o只会把每个匹配到的关键字都单独列出,如果某一行出现两个匹配内容,则会各自单独列出。

  • -ABC

我们在查找相关字符时偶尔需要字符前后的一些信息,可以使用-B1(before,即匹配行数前面1行),-A(after,集后一行

-C(context,即前后行)

  • -w(word)

我们匹配某一个相关词时,可能需要某个词作为一个单独字符出现,比方male和female,这个时候就要限制单个词。可以使用-w。

  • -v

有时候我们需要反向查找,比方要不出现“test”的行数。可以用-v

  • -e

如果需要匹配多个字符,比方“ABC”,“TEST”,不论包含哪一个都需要被打印出来,可以用-e。

-q

如果你只关心某个文件是否存在某个字符,而不关心具体信息,可以用-q。

当使用“-q”选项时,表示grep使用静默模式,无论有没有匹配到,最后都不会有返回值,需要配合“echo $?”命令,查看命令的执行状态,如果返回值为0,表示匹配到了,如果是1,表示没有匹配到。

总结:

  1. grep "test" testfile
  2. -i 表示忽视大小写
  3. -n 表示显示匹配的位置(行数)
  4. -c 计算所有匹配到的行数,使用此条时,相关匹配不会被打印出来。
  5. -o只列出匹配的字符
  6. -A,-B,-C分别可以打印出匹配行的前后相关行内容
  7. -w 限制相关字符以单个单词出现
  8. -v 表示反向查找
  9. -e多种匹配,表示多个目标存在或的关系
  10. -q grep表示静默状态,可配合echo $?使用,返回为0则表示有匹配,1则没有匹配到。

参考:http://www.zsythink.net/archives/1733

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值