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?
Ersätta text i flera filer [LÖST]
-
- Inlägg: 378
- Blev medlem: 24 maj 2007, 01:53
- OS: Ubuntu
- Utgåva: 22.04 Jammy Jellyfish LTS
- Ort: Kalmar/Luleå
- Kontakt:
-
- 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
Svaret är sed, för att ersätta strängen "sök" med strängen "ersätt" kör du detta:
Strängen "sök" är en regexp.
Kod: Markera allt
sed 's/sök/ersätt/' infil > utfil
-
- 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
tackar.
Kan man göra det rekursivt eller får man skripta det i så fall?
Kan man göra det rekursivt eller får man skripta det i så fall?
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Ersätta text i flera filer
Kod: Markera allt
find -name '*.txt' -type f -exec sed -i 's/sök/ersätt/g' {} \;
-
- 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
Tack så mycket.