Kod: Označi sve
#!/bin/bash
cd Download
valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_./"
find . | while read f
do
j=1
z=`echo ${f//" "/"_"}`
echo $f
d=$(echo ${#f})
while [ $j -lt $d ]; do
c=$(echo ${f:j:1})
k=`echo $valid | grep -i "$c"`
if [ "$k" == "" ]; then
z=`echo ${z//"$c"/"_"}`
fi
let j=j+1
done
z=`echo ${z//__/_}`
z=`echo ${z//__/_}`
z=`echo ${z//__/_}`
z=`echo ${z//__/_}`
if [ "$f" != "$z" ]; then
mv "$f" "$z"
fi
done
# Ako je bilo CANOT STAT poruka ponovi skriptuSpremite je u npr. ren.sh i izvodite iz shella sa ./ren.sh
VAŽNO: Gore vidite naredbu cd Download kojom se ulazi u folder Download. Izmjenite to ime u ime svog foldera. NE IZVODITI u čistom /home direktoriju, jer skripta zezne skrivene sistemske fajlove koji počinju točkom.
Pošto skripta preimenuje i podfoldere nakon toga ne prepoznaje fajlove u preimenovanom folderu potrebo je višestruko izvođenje u ovisnosti o broju nivoa podfoldera.
Prije rada backupirajte podatke, a to treba biti stalna praksa a ne povremena.
Netko mi je jednom rekao da je skripta frankenštajnski složena od raznih djelova, ali nema veze. Provjereno radi.