Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: Owdy - 28.04.06 - klo:20.54

Otsikko: Teidostojen sisällön korvaus päätteeltä
Kirjoitti: Owdy - 28.04.06 - klo:20.54
Lisää komentoriviapua. Mulla on hakemisto. Millä komennolla saan korvattua jonkun merkkinojon kaikkien hakemistossa olevien tiedostojen sisällä jollain toisella?
Otsikko: Re: Teidostojen sisällön korvaus päätteeltä
Kirjoitti: raimo - 29.04.06 - klo:18.04
Lisää komentoriviapua. Mulla on hakemisto. Millä komennolla saan korvattua jonkun merkkinojon kaikkien hakemistossa olevien tiedostojen sisällä jollain toisella?
Perliä peliin, ja vain taivas on rajana, jos sekään.  8)
Koodia: [Valitse]
perl -pi -e 's/etsittävä/korvaava/gi;' *.*
-p = loop-mode
-i = muokataan tiedostoja, vaihda tilalle -i.bak jos haluat että backup-tiedosto luodaan
-e = Perliä ajetaan komentoriviltä
s = etsitään
g = "globaalisti" koko juttu läpi
i = kirjainkokoa ei huomioida.
ja sitten vain tiedostopääte tai nimi halutuksi (*.* = kaikki).

Haku/korvaus -sääntöjä Perlin regexpr:n mukaan mielinmäärin:
http://www.cs.cf.ac.uk/Dave/PERL/node76.html
Perl komentoriviasiaa:
http://www.cs.cf.ac.uk/Dave/PERL/node161.html
Varmaan se sillä mystillisellä sh jutullakin onnistuu,
mutta niistä minä pidän näppini erossa, kun en mitään ymmärrä. ;)