Ersätta text i flera filer [LÖST]

Här diskuteras programmering och utveckling
Alleinsora
Inlägg: 378
Blev medlem: 24 maj 2007, 01:53
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Kalmar/Luleå
Kontakt:

Ersätta text i flera filer [LÖST]

Inlägg av Alleinsora »

Hej. Jag har ett problem, jag behöver ersätta en text som finns i hundratals filer i olika undermappar. Har hittat gawk och lyckats matcha en text i en fil. Men hittar ingen ytterligare information om hur man kan byta ut texten.

Så frågan är alltså, hur ska jag bära mig åt för att göra det? Är det kanske lättare att ta till python?
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Ersätta text i flera filer

Inlägg av Lars »

Svaret är sed, för att ersätta strängen "sök" med strängen "ersätt" kör du detta:

Kod: Markera allt

sed 's/sök/ersätt/' infil > utfil
Strängen "sök" är en regexp.
Alleinsora
Inlägg: 378
Blev medlem: 24 maj 2007, 01:53
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Kalmar/Luleå
Kontakt:

Re: Ersätta text i flera filer

Inlägg av Alleinsora »

tackar.

Kan man göra det rekursivt eller får man skripta det i så fall?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Ersätta text i flera filer

Inlägg av Konservburk »

Kod: Markera allt

find -name '*.txt' -type f -exec sed -i 's/sök/ersätt/g' {} \;
Alleinsora
Inlägg: 378
Blev medlem: 24 maj 2007, 01:53
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Kalmar/Luleå
Kontakt:

Re: Ersätta text i flera filer

Inlägg av Alleinsora »

Tack så mycket.
Skriv svar

Återgå till "Programmering och webbdesign"