這里有一個簡單的例子:
$ echo 'abcabcabc' | sed 's/\(ab\)c/\1/' ababcabc $ echo 'abcabcabc' | sed 's/\(ab\)c/\1/g' ababab $ echo 'abcabcabc' | sed 's/\(ab\)\(c\)/\1d\2/g' abdcabdcabdc
在第一個命令中,只有第一個匹配受到影響。在第二個命令中,每個匹配都會受到影響。在這兩種情況下,\1
指的是由轉義括號捕獲的字符。
在第三個命令中,指定了兩個捕獲組。他們通過使用\1
和引用\2
。最多可以使用九個捕獲組。
除了g
(全局)運算符(或沒有它,第一次匹配)之外,你可以指定特定的匹配項:
$ echo 'aaaaaa' | sed 's/a/A/4' aaaAaa