1

给定以下命令:

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

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

我知道 ^ 标志着该行的开始,但是谁能给我关于这些命令的简要解释?他们在做什么?(一步步)

谢谢!

4

2 回答 2

4

^可能意味着两件事:

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

所以,这意味着:

  • 以“b”开头的行
  • 匹配除“b”以外的任何 (0+) 个字符
  • 匹配另一个'b'
  • 后面跟着不是-'b'的东西(或者什么都没有)

它会匹配

bb
bzzzzzb
bzzzzzbzzzzzzz

但不是

zzzzbb
bzzzzzxzzzzzz
于 2013-09-04T12:49:03.057 回答
0

1) 以 b 开头,name 以 0 个或多个非 b 的字符继续,然后是 b,然后以非 b 的字符继续

2) 以 b 开头,name 以 0 个或多个非 b 的字符继续,然后是 b,然后以 0 个或多个非 b 的字符继续

于 2013-09-04T12:52:03.077 回答