"|" 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 sed
varian lain , misalnya yang digunakan dalam BSD, yang berperilaku berbeda.