niedziela, 28 kwietnia 2013

Masowa zmiana nazw katalogów / plików - Skrpt Bash cz.11

Jako że matka potrzebą wynalazków, musiałem nieco pomóc mojemu odtwarzaczowi mp3 w odpowiednim odtwarzaniu plików. Chodzi o kolejność w jakiej powinny być odtwarzane, a w jakiej były puszczane przez niego. Jakoś nie specjalnie fajnie jest słuchać plików nie po kolej. Dlatego też stworzyłem skrypcik w bash'u, który masowo zmienia numery plików w formie: numer.mp3 - 1.mp3 itd, może nie jest ładny, ale działa:).



W moim przypadku nazwy katalogów zmieniłem co oczywiste na postać cyfrową, wcześniej kasując spacje, kropi, myślniki(jeżeli w innej lokacji mamy skrypty oraz katalogi / pliki do zmiany, musimy dodać cd nasza_sciezka_do_katalogow najlepiej na początku skryptów):

#!/bin/bash
#Kasuje w nazwach katalogow znaki(" ", ".","-")
cd pliki
for i in * ; do mv "$i" "${i//\ /}" ; done
for i in * ; do mv "$i" "${i//\./}" ; done
for i in * ; do mv "$i" "${i//\-/}" ; done

#Zmienia nazwy wszystkich katalogów w danej lokacji na cyfry
counter=1
for f in * 
do 
mv $f $counter 
((counter += 1))
done 

Oczywiście nazwy można zmienić na inny format, wtedy zmieniamy wpis mv ..., oraz licznik_katalogow w zależności od posiadanej ilości.


#!/bin/bash
licznik_katalogow=1 #ustawiamy na pierwszy katalog
licznik_plikow=1 #ustawiamy na 1 (od 1 beda pliki numerowane)
kat_glowny="/root/bash/pliki/"#moja sciezka do katalogu z plikami
cd $kat_glowny
while [ $licznik_katalogow -le 62 ];#wykonujemy operacje w petli az do sprawdzenia wszystkich katalogow
do

cd $licznik_katalogow #przechodzimy do 1 katalogu z plikami

for files in * #kazdy plik "kopiujemy" - zmieniamy nazwe na kolejna cyfre / liczbe
do
mv "$files" "${licznik_licznikow}.mp3"
(( licznik_plikow +=1 )) #aby kolejne pliki mialy inne nazwy zwiekszamy licznik
done
(( licznik_katalogow +=1 )) #zwiekszamy licznik katalogow, aby skrypt sprawdzal nastepny w kolejce

cd $kat_glowny

done

Komentarze mile widziane.




Brak komentarzy:

Prześlij komentarz