For at udføre en rekursiv 'find og erstat' i alle filer i en mappe og dens undermapper ved brug af en shell som Bash eller Zsh, kan du følge disse trin:
cd /sti/til/din/mappe
find . -type f -exec sed -i 's/foo/bar/g' {} +
Her er en forklaring på, hvad hver del af kommandoen gør:
find . -type f
: Finder alle filer (-type f
) i den aktuelle mappe (angivet med .
) og dens undermapper.-exec
: Udfører en kommando på hver fil, der findes.sed -i 's/foo/bar/g'
: Bruger sed
til at erstatte alle forekomster af 'foo' med 'bar' i hver fil. Flaget -i
betyder, at ændringerne gemmes direkte i filerne.{}
: Pladsholder for hver fil, der findes af find
-kommandoen.+
: Angiver, at sed
-kommandoen skal anvendes på flere filer ad gangen for at forbedre ydeevnen.Bemærk: Denne kommando vil ændre alle filer i den angivne mappe og dens undermapper. Sørg for at tage en backup af dine filer, før du kører kommandoen, hvis du er usikker på resultatet.
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