【发布时间】:2013-04-16 16:41:25
【问题描述】:
我有一个 awk 和一个 sed 示例。两者似乎都使用相同的正则表达式,但输出不同。所以模式扩展一定会变得不同。但我无法得到差异。谁能解释一下?
$ echo "THE BEAR ATE THE FISH" |sed -e 's/[^ ]*(H|F)[^ ]*/<red>&/g'
THE BEAR ATE THE FISH
$ echo "THE BEAR ATE THE FISH" | awk 'gsub(/[^ ]*(H|F)[^ ]*/,"<red>&")'
<red>THE BEAR ATE <red>THE <red>FISH
$ sed --version
GNU sed version 4.1.5
$ awk --version
GNU Awk 3.1.5
【问题讨论】:
-
似乎在 sed 中,而不是
(H|F),[HF]确实给出了相同的输出。