3

awk と sed の例が 1 つずつあります。どちらも同じ正規表現を使用しているように見えますが、出力が異なります。パターンの展開が違ってくるはずです。しかし、私は違いを得ることができません。誰でも説明できますか?

 $ 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
4

1 に答える 1