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:
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.
Spar dig selv for besvær og kom igennem din to-do liste i dag
1
Beskriv din opgave
2
Modtag bud
3
Få løst din opgave
Møbelsamling
Hjælp med at samle Ikea klædeskab
Maler
Klargøring af lejlighed til flyttesyn
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Havearbejde
Beskæring af 4 større træer
IT support
Geninstallering af windows + programmer
Elektriker
Installation af Sonos musikanlæg i hus
Rengøring
Ugentlig rengøring af lejlighed (114kvm)
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Elektriker
Opsætning af lamper i stue og soveværelse
Catering
3-retters menu til 14 mennesker