41
Ohjelmointi, palvelimet ja muu edistyneempi käyttö / Tiedoston/kansion merkkien muuttaminen[Ratkaistu, kahdella tapaa]
« : 29.06.08 - klo:17.14 »
Eli, kyseessä mediakansion sisältö, Muutamassa kansiossa ja muutamassa tiedostossa on " & " merkki, joka pitäisi vaihtaa "and" sanaksi, sed onnistuu tehtävässä, mutta muutos ei säily.
muutokseen käytetty komento on;
Huono puoli tuossa findissa on että pitäisi tietenkin määritellä tyypit, d kansioille ja f tiedostoille.
Ongelma on kuitenkin tuo sed, jonka muutos ei pysy??
Edit. muutettu etsimiskomento oikeaksi
Edit2. Lisäselvitystä
Vaikka putkittaa tuon find komennon tulosteen, ei mitään tapahdu.
Vaikka lisää findille -exec vivun ja suorittaa sitä kautta, mitään ei tapahdu.
Edit:
Ratkaisu 1:
Ratkaisu 2:
muutokseen käytetty komento on;
Koodia: [Valitse]
sed 's/&/and/g'
ja etsimiseen Koodia: [Valitse]
find . \( -type d -or -type f \) -iname '*&*'
Huono puoli tuossa findissa on että pitäisi tietenkin määritellä tyypit, d kansioille ja f tiedostoille.
Ongelma on kuitenkin tuo sed, jonka muutos ei pysy??
Edit. muutettu etsimiskomento oikeaksi
Edit2. Lisäselvitystä
Vaikka putkittaa tuon find komennon tulosteen, ei mitään tapahdu.
Vaikka lisää findille -exec vivun ja suorittaa sitä kautta, mitään ei tapahdu.
Edit:
Ratkaisu 1:
Koodia: [Valitse]
find . -name '*&*' | rename 's/&/and/g'
Etsii hakemiston sen alihakemistot läpi etsie kaikki "&" merkit ja muuttaa sen "and"Ratkaisu 2:
Koodia: [Valitse]
find . -iname '*&*' | while read a; do j=`sed 's/&/and/g' <<<$a`; mv "$a" "$j"; done
Tekee ihan saman.