Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: 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ä.
-
Mites olisi vaikka näin:
j=0
for i in $(ls *.mp3)
do
j=$(($j+1))
mv $i $j.mp3
done
-
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?
-
Joo en arvannut, että sulla välejä noissa nimissä. En ehdi nyt pidemmälle tuota ajatella tällä kertaa...
-
Välilyönnit_alaviivoiksi:
find . -depth | rename 's/\ /_/g' *
-
Pythonilla:
#!/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.
-
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).
i=0
for f in *.[mM][pP]3; do
(( ++i ))
mv "$f" "$i.mp3"
done
Edit: Korjattu skriptissä ollut kirjoitusvirhe.