Grep的例子 - 无法理解

时间:2013-09-04 12:45:55

标签: unix grep

给出以下命令:

ls | grep ^b[^b]*b[^b]

ls | grep ^b[^b]*b[^b]*

我知道^标志着该行的开始,但任何人都可以给我一个简短的解释 这些命令?他们在做什么? (一步一步)

谢谢!

2 个答案:

答案 0 :(得分:4)

^可能意味着两件事:

  • 标记一行的开头
  • 它否定了字符集(whithin []

所以,这意味着:

  • 以'b'开头的行
  • 匹配除“b”
  • 之外的任何(0+)个字符
  • 匹配另一个'b'
  • 后跟一些不是'''(或根本没有)的东西

匹配

bb
bzzzzzb
bzzzzzbzzzzzzz

但不是

zzzzbb
bzzzzzxzzzzzz

答案 1 :(得分:0)

1)以b开头,名称继续使用0或更多字符,这些字符不是b然后是b然后继续使用不是b的字符

2)以b开头,名称继续使用0或更多字符,这些字符不是b然后是b,然后继续使用0个或更多不是b的字符