Der er flere grunde til, at denne sed-kommando ikke fungerer som forventet. Her er nogle af de mest sandsynlige årsager:
\d+
er ikke understøttet af standard sed. Sed bruger POSIX-baserede regulære udtryk, hvor \d
ikke er en gyldig metategn. I stedet skal du bruge [0-9]
for at matche cifre.\
, escapes med en ekstra backslash. Derfor skal \.
skrives som \\.
for at matche et bogstaveligt punktum.For at rette kommandoen kan du ændre den til:
sed 's/[0-9]\+\.//g' file.txt
Her er en forklaring på den rettede kommando:
[0-9]
: Matcher ethvert ciffer fra 0 til 9.\+
: Matcher en eller flere forekomster af det foregående element (i dette tilfælde cifre).\\.
: Matcher et bogstaveligt punktum.//g
: Erstatter alle forekomster globalt i hver linje.Ved at bruge denne rettede kommando vil alle mønstre med cifre efterfulgt af et punktum blive erstattet med en tom streng i file.txt
.
Har du brug for hjælp til sed-kommandoer eller programmering? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Uanset om du står over for en specifik udfordring eller har brug for generel vejledning, er hjælp lige ved hånden.