Kirjoittaja Aihe: Teidostojen sisällön korvaus päätteeltä  (Luettu 2134 kertaa)

Owdy

  • Käyttäjä
  • Viestejä: 1954
    • Profiili
Teidostojen sisällön korvaus päätteeltä
« : 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?

raimo

  • Käyttäjä
  • Viestejä: 4269
  • openSUSE Tumbleweed
    • Profiili
Re: Teidostojen sisällön korvaus päätteeltä
« Vastaus #1 : 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ä. ;)

 
« Viimeksi muokattu: 29.04.06 - klo:18.16 kirjoittanut raimo »
Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski