Sådan bruger du alternationsymbolet "|" i GNU sed 4.2.1: En guide

Hvordan kan alternationsymbolet "|" anvendes i en underudtryk med GNU sed version 4.2.1 for at opnå det forventede resultat i eksemplet: echo "blia blib bou blf" | sed 's/bl\(ia|f\)//g'?

For at anvende alternationsymbolet "|" korrekt i en underudtryk med GNU sed version 4.2.1, skal du enten bruge flere sed-kommandoer, aktivere udvidede regulære udtryk med flaget -E, eller bruge Perl-kompatible regulære udtryk med flaget -r.

Hvordan kan alternationsymbolet "|" anvendes i en underudtryk med GNU sed version 4.2.1 for at opnå det forventede resultat i eksemplet: echo "blia blib bou blf" | sed 's/bl\(ia|f\)//g'?

For at anvende alternationsymbolet "|" korrekt i en underudtryk med GNU sed version 4.2.1, skal du bruge en anden syntaks, da GNU sed ikke understøtter alternation direkte inden for parenteser. I stedet kan du bruge en af følgende metoder:

  • Brug af flere sed-kommandoer: Du kan anvende flere sed-kommandoer for at opnå det ønskede resultat.
    echo "blia blib bou blf" | sed -e 's/blia//g' -e 's/blf//g'
  • Brug af en udvidet regulær udtryk (ERE): Du kan bruge flaget -E for at aktivere udvidede regulære udtryk, som understøtter alternation.
    echo "blia blib bou blf" | sed -E 's/bl(ia|f)//g'
  • Brug af Perl-kompatible regulære udtryk (PCRE): Hvis din version af sed understøtter det, kan du bruge flaget -r for at aktivere Perl-kompatible regulære udtryk.
    echo "blia blib bou blf" | sed -r 's/bl(ia|f)//g'

Ved at bruge en af disse metoder kan du korrekt anvende alternationsymbolet "|" i en underudtryk med GNU sed version 4.2.1 og opnå det forventede resultat.