"|" juga membutuhkan garis miring terbalik untuk mendapatkan makna khusus.
echo "blia blib bou blf" | sed 's/bl\(ia\|f\)//g'
akan melakukan apa yang Anda inginkan.
Seperti yang Anda ketahui, jika semuanya gagal, baca manual :-).
Manual pengguna sed GNU , bagian 3.3 Ikhtisar Sintaks Ekspresi Reguler :
`REGEXP1 \ | REGEXP2 '
Cocok dengan REGEXP1 atau REGEXP2.
Perhatikan garis miring terbalik ...
Sayangnya, sintaks regex tidak benar-benar standar ... ada banyak varian, yang berbeda antara lain di mana "karakter khusus" perlu \ dan yang tidak. Dalam beberapa itu bahkan dapat dikonfigurasi atau tergantung pada sakelar (seperti pada GNU grep, yang dapat Anda alihkan di antara tiga dialek regex yang berbeda).
Jawaban ini khususnya untuk sed GNU . Ada sedvarian lain , misalnya yang digunakan dalam BSD, yang berperilaku berbeda.