小编ch4*_*h2o的帖子

使用 -o 时对 GNU/macOS grep 输出差异的困惑

为什么grepmacOS上的 BSD在这里只产生第一个词:

$ echo "once upon a time" | grep -o "[a-z]*"
once
Run Code Online (Sandbox Code Playgroud)

但这里所有的话:

$ echo "once upon a time" | grep -o "[a-z][a-z]*"
once
upon
a
time
Run Code Online (Sandbox Code Playgroud)

或者,使用扩展的正则表达式:

$ echo "once upon a time" | grep -E -o "[a-z]*"
once

$ echo "once upon a time" | grep -E -o "[a-z]+"
once
upon
a
time
Run Code Online (Sandbox Code Playgroud)

GNUgrep将为[a-z]+(or [a-z][a-z]*) 和生成相同的输出[a-z]*

$ echo "once upon a time" | ggrep -E -o "[a-z]*"
once …
Run Code Online (Sandbox Code Playgroud)

grep regular-expression

6
推荐指数
1
解决办法
1030
查看次数

标签 统计

grep ×1

regular-expression ×1