|
Masowa zmiana nazw plików - zamiana spacji
Dalik - 26-09-2009 20:16
Poszukuję konsolowego skryptu/programu, który będzie zmieniał mi masowo nazwy plików.
Przykład: Schiller - Day and Night live
zamienić na: schiller_-_day_and_night_live
berniekk - 26-09-2009 20:33
Nie wiem czy dokładnie o to Ci chodzi, ale twoje problemy może rozwiązać convert. Używałem tego do masowej zmiany nazw zdjęć z aparatu cyfrowego. Tutaj masz przykładowe możliwości convert.
zloty87 - 26-09-2009 22:26
Wystarczy, że trochę przerobisz mój:
http://debian.linux.pl/viewtopic.php?t=14294
fnmirk - 26-09-2009 22:51
Dalik, poszukaj na forum. Są gotowe skrypty: http://debian.linux.pl/viewtopic.php...hlight=skrypty http://debian.linux.pl/viewtopic.php?p=75493#75493
pyrion - 27-09-2009 00:05
Możesz użyć krename.
kalota - 27-09-2009 10:10
#! /bin/bash
ls $1|while read plik do cplik=$(echo $plik | sed -e "s/ /_/g" | tr A-Z a-z) mv -fv "$(echo $1$plik)" "$(echo $1$cplik)" 2>/dev/null done;
sh skrypt /nazwa/katalogu/zakonczona/slashem/
Dalik - 27-09-2009 11:10
Wiem, że wymyślam ale coś w pythonie znalazłoby się (chcę się nauczyć tego języka i taki skrypt byłby kolejnym doświadczeniem w tej materii)?
lessmian2 - 27-09-2009 11:59
Nigdy nie byłem mistrzem pythona i pewnie posypią się gromy :-P ale stworzyłem z nudów coś takiego:
#!/usr/bin/python import fileinput, sys, os
for line in fileinput.input(): cmd = "mv \"%s\" %s" % (line.rstrip(), line.replace(' ','_')) os.system(cmd)
Uruchamiasz będąc w katalogu w którym masz rzeczone pliki o tak:
ls | /to/ten/skrypt.py
Dalik - 27-09-2009 13:05
ls | /to/ten/skrypt.py
Tutaj domyślam się, że powinno być: (w moim przypadku):
ls | python /home/dalik/software/rename.py
Pliki wejściowe:
KATE RYAN - Desenchantee [Live @ At The Dome25 SVCD].mpg Milk Inc. - Livin' A Lie.mpg The Prodigy - Poison (Live).mpeg
Pliki wyjściowe:
KATE_RYAN_-_Desenchantee_[Live_@_At_The_Dome25_SVCD].mpg Milk Inc. - Livin' A Lie.mpg The Prodigy - Poison (Live).mpeg
Wynik kowersji tych 3 losowych plików:
sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file sh: -c: line 0: syntax error near unexpected token `(' sh: -c: line 0: `mv "The Prodigy - Poison (Live).mpeg" The_Prodigy_-_Poison_(Live).mpeg'
Opinia końcowa. Coś działa ale nie do końca?
lessmian2 - 27-09-2009 13:45
A bo Ty tam masz jakieś dziwne znaczki typu (),. :-P
#!/usr/bin/python import fileinput, sys, os
for line in fileinput.input(): line = line.rstrip() cmd = "mv %s %s" % (repr(line), repr(line.replace(' ','_'))) os.system(cmd)
Powinno być lepiej.
Edit: Przez Ciebie prawie przypaliłem obiad :-P
Dalik - 27-09-2009 19:07
Czasami przypalony obiad lepiej smakuje.
Dziękuję bardzo. Teraz już działa fajnie.
Jak zrobić by do tego jeszcze zamieniał mi wszystkie wielkie litery na małe?
Tak w ogóle mógłbyś mi przeanalizować ten skrypcik (jaka funkcja za co odpowiada)?
lessmian2 - 27-09-2009 20:54
No nawet nie był taki zły ten obiad :-) Teraz już musisz sam pogooglać. I tak odwaliłem za Ciebie całą robotę ;-) Uważam że więcej się nauczysz samemu analizując skrypt i szukając informacji, niż gdy dostaniesz wszystko na tacy. Spróbuj najpierw sam, a jak będziesz miał konkretne pytanie, to wtedy pisz. Na pewno znajdą się chętni do pomocy.
Dalik - 13-12-2009 17:39
Potrzebuje skryptu (najlepiej w Pythonie) do masowej zamiany nazw plików z: 01-paul_webster-the_wolf_(original_mix).mp3 04-richard_durand-no_way_home_(extended_mix)-italive.mp3
na: paul_webster-the_wolf_(original_mix).mp3 richard_durand-no_way_home_(extended_mix)-italive.mp3
Dziękuję
fnmirk - 13-12-2009 18:06
Dalik, przejrzyj forum. Wielokrotnie było. Są nawet gotowe skrypty w dziale ,,Opisy FAQ HowTo''.
Ps. Nie zakładaj nowego tematu, w starym mogłeś zadać dalsze pytania.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|