Strona 1 z 1
Skrypt zmieniający nazwy plików
: 18 lipca 2009, 22:42
autor: meliorus
Witam.
Posiadam serwer dedykowany z przeznaczeniem do torrentów i mam do was pytanie.
Znacie może jakiś sposób na automatyczne konwertowanie nazw, że tam gdzie jest:
aby było:
oraz zamiast
było:
Od pewnego czasu ręczna zmiana tych że parametrów mnie strasznie irytuje.
Czy można zrobić takie coś poprzez jakiś automatyczny program, skrypt aby wszystkie katalogi miały zmienioną nazwę?
Z góry dziękuję za pomoc.
: 18 lipca 2009, 23:21
autor: fnmirk
meliorus, przejrzałeś forum? Jest na pewno przedstawiony taki skrypt.
: 18 lipca 2009, 23:27
autor: meliorus
Przeglądałem ale nic nie znalazłem.
: 19 lipca 2009, 03:59
autor: Stawi
Napisane na "kolanie", ale powinno dzialac:
Kod: Zaznacz cały
#!/bin/sh
for old in *; do
new=$(echo $old | tr " ()" "_[]")
mv "$old" "$new"
done
: 19 lipca 2009, 15:11
autor: meliorus
nom działa, ale przydało by się aby był taki skrypt co zmieni we wszystkich katalogach i podkatalogach to noi wykosi nawiasy żeby np. zamiast takiego
byl
Bo takie nawiasy
wywalają mi:
Kod: Zaznacz cały
-bash: syntax error near unexpected token `('
: 19 lipca 2009, 17:52
autor: Stawi
meliorus, zamienia tak jak chciałeś - sprawdź manuala
tr.
A żeby działało też na podkatalogach to trzeba już się więcej pobawić:
Kod: Zaznacz cały
#!/bin/sh
if [ -z "$1" ]; then dir='.'; else dir=$1; fi
for old in "$dir"/*; do
new=$(echo $old | tr " ()" "_[]")
if [ "$old" != "$new" ]; then
mv "$old" "$new"
fi
if [ -d "$new" ]; then
$0 "$new"
fi
done
Dodatkowo jest mały bugfix - sprawdza czy trzeba zmieniać czy nie.
: 19 lipca 2009, 19:24
autor: meliorus
Wrzuciłem ten skrypcik do pliku name.sh i gdy w konsoli wywołuję go poleceniem:
to niestety nie działa.
Bo tyle ile mam katalogów tyle mi bierze i wywala linijek takiego komunikatu:
Kod: Zaznacz cały
name.sh: line 9: name.sh: command not found
Błąd jaki tam wyświetla ale to naprawdę działa.
Dziękuję ci naprawdę za pomoc.
: 19 lipca 2009, 20:43
autor: Stawi
albo linie
zamien na
Pozdro
