Match og erstat flere mellemrumstegn i sed: En guide

Hvordan matches 3 eller flere på hinanden følgende mellemrumstegn (tabulatorer) i sed og erstattes med 2 mellemrum?

For at matche 3 eller flere på hinanden følgende mellemrumstegn (inklusive tabulatorer) i sed og erstatte dem med 2 mellemrum, kan du bruge kommandoen `sed -E 's/[[:space:]]{3,}/ /g' inputfile > outputfile`.

Hvordan matches 3 eller flere på hinanden følgende mellemrumstegn (tabulatorer) i sed og erstattes med 2 mellemrum?

For at matche 3 eller flere på hinanden følgende mellemrumstegn (inklusive tabulatorer) i sed og erstatte dem med 2 mellemrum, kan du bruge følgende fremgangsmåde:

  1. Åbn din terminal eller kommandoprompt.
  2. Brug følgende sed-kommando:
sed -E 's/[[:space:]]{3,}/  /g' inputfile > outputfile

Her er en forklaring på kommandoen:

  • sed -E: Aktiverer udvidede regulære udtryk.
  • 's/[[:space:]]{3,}/ /g':
    • s/: Starter en erstatningskommando.
    • [[:space:]]{3,}: Matcher 3 eller flere på hinanden følgende mellemrumstegn (inklusive tabulatorer).
    • / /: Erstatter de matchede mellemrumstegn med 2 mellemrum.
    • /g: Anvender erstatningen globalt på hver linje.
  • inputfile: Navnet på inputfilen, der skal behandles.
  • outputfile: Navnet på outputfilen, hvor resultatet gemmes.

Eksempel:

echo -e "Dette   er    en    test" | sed -E 's/[[:space:]]{3,}/  /g'

Output:

Dette  er  en  test

Dette vil erstatte alle forekomster af 3 eller flere på hinanden følgende mellemrumstegn med 2 mellemrum i den angivne tekst eller fil.