2
我有一個awk和sed的例子。兩者似乎都使用相同的正則表達式,但輸出不同。所以模式擴展必須有所不同。但我無法區別。誰能解釋一下?sed和awk正則表達式有什麼區別
$ 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]'確實給出相同的輸出。 – abasu 2013-04-23 12:56:21