Tematy związane z oprogramowaniem, instalacją, konfiguracją
meliorus
Beginner
Posty: 143 Rejestracja: 20 maja 2008, 07:41
Post
autor: meliorus » 18 lipca 2009, 22:42
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.
fnmirk
Senior Member
Posty: 8295 Rejestracja: 03 grudnia 2007, 06:37
Post
autor: fnmirk » 18 lipca 2009, 23:21
meliorus , przejrzałeś forum? Jest na pewno przedstawiony taki skrypt.
meliorus
Beginner
Posty: 143 Rejestracja: 20 maja 2008, 07:41
Post
autor: meliorus » 18 lipca 2009, 23:27
P rzeglądałem ale nic nie znalazłem.
Stawi
Beginner
Posty: 209 Rejestracja: 10 lutego 2007, 16:02
Lokalizacja: Kraków
Post
autor: Stawi » 19 lipca 2009, 03:59
Napisane na "kolanie", ale powinno dzialac:
Kod: Zaznacz cały
#!/bin/sh
for old in *; do
new=$(echo $old | tr " ()" "_[]")
mv "$old" "$new"
done
meliorus
Beginner
Posty: 143 Rejestracja: 20 maja 2008, 07:41
Post
autor: meliorus » 19 lipca 2009, 15:11
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 `('
Stawi
Beginner
Posty: 209 Rejestracja: 10 lutego 2007, 16:02
Lokalizacja: Kraków
Post
autor: Stawi » 19 lipca 2009, 17:52
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.
meliorus
Beginner
Posty: 143 Rejestracja: 20 maja 2008, 07:41
Post
autor: meliorus » 19 lipca 2009, 19:24
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.
Stawi
Beginner
Posty: 209 Rejestracja: 10 lutego 2007, 16:02
Lokalizacja: Kraków
Post
autor: Stawi » 19 lipca 2009, 20:43
albo linie
zamien na
Pozdro