Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Eetu_ - 07.06.09 - klo:23.04

Otsikko: Pieni skripti tiedostojen uudelleennimeämiseen [RATKAISTU]
Kirjoitti: Eetu_ - 07.06.09 - klo:23.04
Eli, viitsisikö joku mukava ihminen tehdä tälläisen skriptin, joka muuttaisi tietyn hakemiston kaikki mp3-tiedostot muotoon 1.mp3, 2.mp3, 3.mp3... Järjestyksellä ei ole väliä, saa muuttaa nimet mistä tiedostosta vaan, kunhan lopputulos on "numero.mp3"

Olisin todella kiitollinen, jos saisin tämän toteutettua jotenkin muuten, kuin yksitellen nimeämällä.
Otsikko: Vs: Pieni skripti tiedostojen uudelleennimeämiseen
Kirjoitti: jussike - 07.06.09 - klo:23.29
Mites olisi vaikka näin:

Koodia: [Valitse]
j=0
for i in $(ls *.mp3)
do
  j=$(($j+1))
  mv $i $j.mp3
done
Otsikko: Vs: Pieni skripti tiedostojen uudelleennimeämiseen
Kirjoitti: Eetu_ - 07.06.09 - klo:23.36
mv: tiedoston "Los" tilaa ei voi lukea: Tiedostoa tai hakemistoa ei ole
mv: tiedoston "Angeles" tilaa ei voi lukea: Tiedostoa tai hakemistoa ei ole
mv: tiedoston "Is" tilaa ei voi lukea: Tiedostoa tai hakemistoa ei ole
mv: tiedoston "Burning.mp3" tilaa ei voi lukea: Tiedostoa tai hakemistoa ei ole

Tuon biisin tiedostonimi on "Los Angeles Is Burning.mp3". Eli hakee väärillä nimillä vai teinkö jotain väärin?
Otsikko: Vs: Pieni skripti tiedostojen uudelleennimeämiseen
Kirjoitti: jussike - 07.06.09 - klo:23.43
Joo en arvannut, että sulla välejä noissa nimissä. En ehdi nyt pidemmälle tuota ajatella tällä kertaa...
Otsikko: Vs: Pieni skripti tiedostojen uudelleennimeämiseen
Kirjoitti: vellu@vmach - 08.06.09 - klo:02.09
Välilyönnit_alaviivoiksi:
Koodia: [Valitse]
find . -depth | rename 's/\ /_/g' *
Otsikko: Vs: Pieni skripti tiedostojen uudelleennimeämiseen
Kirjoitti: SuperOscar - 08.06.09 - klo:10.35
Pythonilla:

Koodia: [Valitse]
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import os

if __name__ == '__main__':
    for root, dirs, files in os.walk('.'):
        for n, f in enumerate(files):
            os.rename(f, '%d%s' % (n + 1, os.path.splitext(f)[1]))

Toimii välilyönnillistenkin nimien kanssa.
Otsikko: Vs: Pieni skripti tiedostojen uudelleennimeämiseen [RATKAISTU]
Kirjoitti: mgronber - 09.06.09 - klo:23.09
Tämä toimii välilyönnillistenkin tiedostonimien kanssa ja lisäksi tämä kelpuuttaa tiedostopäätteiksi pienten ja isojen kirjainten variaatiot (.mp3, .Mp3, .mP3 ja .MP3).

Koodia: [Valitse]
i=0
for f in *.[mM][pP]3; do
    (( ++i ))
    mv "$f" "$i.mp3"
done


Edit: Korjattu skriptissä ollut kirjoitusvirhe.