View difference between Paste ID: mWW5usaB and MfFpqw7a
SHOW: | | - or go back to the newest paste.
1
#!/bin/sh
2
3-
##########################################################################################################
3+
#---------------------------------------------------------------------------
4-
# RENAMING SCRIPT
4+
#------- Script "bereinigt" Datei / Ordner -  Namen und entfernt
5-
# CONFIG
5+
#------- ungewollte u. unoetige Dateien / Dateinamen-Parts wie
6
#------- Scene-Tags oder Sprachangaben und bringt die Dateien in
7-
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/pyload/scripts/unrar_finished
7+
#------- eine saubere Dateikultur
8-
DESTINATION="/volume1/Video/" #path where downloaded files should be moved to
8+
#-------
9
#------- Initial-Script für pyLoad "package_finished" / "unrar_finished"
10
#------- findet ihr unter http://pastebin.com/veq9miyX
11-
##########################################################################################################
11+
#------- 
12-
# find and delete unnecessary files and folders
12+
#------- aktuelle "ipkg tr" "ipkg sed" "ipkg find" Pakete vorausgesetzt!
13
#------- "ipkg update" "ipkg install tr sed find"
14-
find . \( -name '*.sfv' -o -name '*.nfo' -o -name '*.txt' -o -name '*.rev' \) -type f -exec rm '{}' \;
14+
#---------------------------------------------------------------------------
15-
find . \( -iname '*sample*' -o -iname 'subs' -o -iname '*imdb*' \) -type d -exec rm -rf '{}' \;
15+
16
#---------------------------------------------------------------------------
17
#------- persoenliche Pfadangaben in http://pastebin.com/veq9miyX bearbeiten
18-
##########################################################################################################
18+
#---------------------------------------------------------------------------
19-
# start cleanup filenames and foldernames - first replace spaces with dots
19+
20
PATH=/opt/bin:/opt/sbin
21-
rmSpacesDir() 
21+
22-
{ 
22+
#---------------------------------------------------------------------------
23-
find `$UF_FOLDER/`* -name "* *" -type d -print | while read FILE
23+
#------- entferne unnoetige Dateien und Ordner 
24-
	do
24+
#------- Textdateien / Info-Dateien / Reparatur-Dateien / Untertitel ...
25-
	NEW=`echo "$FILE" | sed -r 's/ +/./g'`
25+
#---------------------------------------------------------------------------
26
27-
	done 
27+
28-
} 
28+
/opt/bin/find . \( -name '*.sfv' -o -name '*.nfo' -o -name '*.txt' -o -name '*.rev' \) -type f -exec rm '{}' \;
29
/opt/bin/find . \( -iname '*sample*' -o -iname 'subs' -o -iname '*imdb*' \) -type d -exec rm -rf '{}' \;
30
31-
rmSpaces() 
31+
#---------------------------------------------------------------------------
32-
{ 
32+
#------- entferne Leerzeichen und ersetze Sonderzeichen mit Punkten
33-
find `$UF_FOLDER/`* -name "* *" -type f -print | while read FILE
33+
#---------------------------------------------------------------------------
34
35-
        NEW=`echo "$FILE" | sed -r 's/ +/./g'`
35+
36
{
37-
	done 
37+
/opt/bin/find `$UF_FOLDER/`* ! -name "*.sh" -type d -print | while read FILE
38
do
39
if [ -d $FILE ]; then
40-
rmSpacesDir
40+
41-
rmSpaces 
41+
        renRecursive
42-
rmSpacesDir
42+
        renFolder
43-
rmSpaces 
43+
        renFiles
44-
rmSpacesDir
44+
45-
rmSpaces 
45+
fi
46
done
47
}
48-
##########################################################################################################
48+
49-
# replace - and _ and .. with dots
49+
renFolder()
50
{
51-
cleanRecursive()
51+
/opt/bin/find `$UF_FOLDER/`* ! -name "*.sh" -type d -print | while read FILE
52
do
53-
for FILE in `ls`
53+
if [ -d "$FILE" ]; then
54
        NEW=`echo "$FILE" | sed -r 's/ +/./g' | sed -r 's/-/./g;s/_/./g;s/^\.+//;s/\.+$//' | tr -s '.'`
55
        if [ $NEW != $FILE -a ! -f $NEW -a ! -d $NEW ]; then
56
        mv "$FILE" "$NEW"
57-
        cleanRecursive
57+
	fi
58-
        cleanFiles
58+
fi
59
done
60
}
61
62
renFiles()
63
{
64-
cleanFiles()
64+
/opt/bin/find `$UF_FOLDER/`* ! -name "*.sh" -type f -print | while read FILE
65
do
66-
for FILE in `ls`
66+
if [ -f "$FILE" ]; then
67
        NEW=`echo "$FILE" | sed -r 's/ +/./g' | sed -r 's/-/./g;s/_/./g;s/^\.+//;s/\.+$//' | tr -s '.'`
68-
   if [ -f $FILE -o -d $FILE ]; then
68+
        if [ $NEW != $FILE -a ! -f $NEW -a ! -d $NEW ]; then
69-
        convert=`echo $FILE | sed -r 's/-/./g;s/_/./g;s/\.+/./g'`
69+
70-
	mv $FILE $convert
70+
	fi
71
fi
72
done
73
}
74
75-
cleanRecursive 
75+
#---------------------------------------------------------------------------
76-
cleanFiles > /dev/null
76+
#------- aendere rekursiv alles in Kleinbuchstaben
77-
cleanRecursive 
77+
#---------------------------------------------------------------------------
78-
cleanFiles > /dev/null
78+
79
lowRecursive()
80
{
81-
##########################################################################################################
81+
/opt/bin/find `$UF_FOLDER/`* -name "*" -type d -print | while read FILE
82-
# set everthing to lowercase
82+
83
if [ -d $FILE ]; then
84
        cd $FILE
85
        lowRecursive
86-
for FILE in `ls`
86+
        lowFiles
87
        cd ..
88
    fi
89-
	cd $FILE
89+
90-
	renRecursive
90+
91-
   	renFiles
91+
92-
   	cd ..
92+
lowFiles()
93
{
94
/opt/bin/find `$UF_FOLDER/`* ! -name "*.sh" | while read FILE
95
do
96
if [ -f $FILE -o -d $FILE ]; then
97
        NEW=`echo $FILE | tr 'A-Z' 'a-z'`
98
        if [ $NEW != $FILE -a ! -f $NEW -a ! -d $NEW ]; then
99-
for FILE in `ls`
99+
100
	fi
101-
   if [ -f $FILE -o -d $FILE ]; then
101+
fi
102-
   	convert=`echo $FILE | tr [:upper:] [:lower:]`
102+
103-
	    	mv $FILE $convert
103+
104-
   	fi
104+
105
#---------------------------------------------------------------------------
106
#------- entferne Szene-Tags und / oder unnoetige Dateinamenteile
107
#------- "$DELNAME" Pfadangabe unter http://pastebin.com/veq9miyX
108
#------- anpassen und die entsprechende Datei erstellen / editieren
109-
renRecursive 
109+
#---------------------------------------------------------------------------
110-
renFiles > /dev/null
110+
111
rmTagsRecursive()
112
{
113-
##########################################################################################################
113+
/opt/bin/find `$UF_FOLDER/`* ! -name "*.sh" -type d -print | while read FILE
114-
# uppercase first character (after dot) and do renaming  
114+
115
if [ -d $FILE ]; then
116
        cd "$FILE"
117
        rmTagsRecursive
118-
for FILE in `ls`
118+
        rmTags
119
        cd ..
120
fi
121-
   	cd $FILE
121+
122-
    	upRecursive
122+
123-
   	renUpperfolders
123+
124-
   	renUpperfiles
124+
125-
   	cd ..
125+
126
for i in `cat $DELNAME`
127
do
128
/opt/bin/find `$UF_FOLDER/`* ! -name "*.sh" -print | while read FILE
129-
	
129+
130-
renUpperfolders() 
130+
if [ -d $FILE ]; then
131-
{ 
131+
	NEW=`echo $FILE | sed -r 's/'"$i"'\.//g' | sed -r 's/\.'"$i"'//g'`
132-
for FILE in `ls`
132+
        if [ $NEW != $FILE -a ! -f $NEW -a ! -d $NEW ]; then
133-
do 
133+
134
	fi
135-
	# pay attention not to break this line
135+
fi
136-
   	convert=`echo $FILE | sed -r 's/(\<.)/\u\1/g;s/s0/S0/;s/s1/S1/;s/e0/E0/;s/e1/E1/;s/e2/E2/;s/Dvd/DVD/;s/Dts/DTS/;s/Ac/AC/;s/Md/MD/;s/Bd/BD/;s/3d/3D/;s/Ld/LD/;s/Dl/DL/;s/Hd/HD/'` 
136+
if [ -f $FILE ]; then
137-
    	mv $FILE $convert
137+
	NEW=`echo $FILE | sed -r 's/'"$i"'\.//g' | sed -r 's/'"$i"'//g'`
138
        if [ $NEW != $FILE -a ! -f $NEW -a ! -d $NEW ]; then
139
	mv "$FILE" "$NEW"
140
	fi
141
fi
142-
renUpperfiles() 
142+
143-
{ 
143+
144-
for FILE in `ls`
144+
145-
do 
145+
146-
   if [ -f $FILE ]; then  
146+
#---------------------------------------------------------------------------
147-
	# pay attention not to break this line
147+
#------- aendere ersten Buchstaben nach einem Punkt in einen Grossbuchstaben
148-
   	convert=`echo $FILE | sed -r 's/(\<.)/\u\1/g;s/s0/S0/;s/s1/S1/;s/e0/E0/;s/e1/E1/;s/e2/E2/;s/Dvd/DVD/;s/Dts/DTS/;s/Ac/AC/;s/3d/3D/;s/Md/MD/;s/Bd/BD/;s/Hd/HD/;s/\.Sh$/.sh/;s/\.Mkv$/.mkv/;s/\.Avi$/.avi/;s/\.Img$/.img/;s/\.Iso$/.iso/;s/\.Wmv$/.wmv/;s/\.Vob$/.vob/;s/\.Mp4$/.mp4/'` 
148+
#---------------------------------------------------------------------------
149-
    	mv $FILE $convert  
149+
150
upRecursive()
151-
done 
151+
152
/opt/bin/find `$UF_FOLDER/`* ! -name "*.sh" -type d -print | while read FILE
153
do
154
if [ -d $FILE ]; then
155-
renUpperfolders > /dev/null
155+
        cd "$FILE"
156-
renUpperfiles > /dev/null
156+
        upRecursive
157
        upFolder
158
        upFiles
159-
##########################################################################################################
159+
160-
# start remove scene tags
160+
fi
161
done
162
}
163
164-
for FILE in `ls`
164+
upFolder()
165
{
166
/opt/bin/find `$UF_FOLDER/`* ! -name "*.sh" -type d -print | while read FILE
167-
   	cd $FILE
167+
168-
   	rmTagsRecursive
168+
169-
   	rmTags
169+
        # nachfolgende Codezeile darf nicht "gelinebreakt" werden!
170-
   	cd ..
170+
        NEW=`echo $FILE | sed -r 's/(\<.)/\u\1/g;s/([se][0123456789])/\u\1/g;s/Dvd/DVD/;s/Dts/DTS/;s/Csi/CSI/;s/Hd/HD/'`
171
        if [ $NEW != $FILE -a ! -f $NEW -a ! -d $NEW ]; then
172
        mv "$FILE" "$NEW"
173
	fi
174
   fi
175
done
176
}
177-
for FILE in `ls`
177+
178
upFiles()
179-
   if [ -d $FILE -o -f $FILE ]; then
179+
180-
	# pay attention not to break this line
180+
/opt/bin/find `$UF_FOLDER/`* ! -name "*.sh" -type f -print | while read FILE
181-
        convert=`echo $FILE | sed -r 's/Itg//g;s/Zzgtv//g;s/Runscript/runscript/;s/Qom//g;s/Tvs//g;s/Zg//g;s/Kinowelt//g;s/German//g;s/Jcm//g;s/Ldtv//g;s/Internal//g;s/Tvp//g;s/Deli//g;s/Euhd//g;s/Amb//g;s/Encounters//g;s/Sow//g;s/Sof//g;s/Videowelt//g;s/HDa//g;s/Vcf//g;s/Fbi//g;s/Empire//g;s/Nva//g;s/Tvh//g;s/Aaf//g;s/Isd//g;s/Klassiger//g;s/Idtv//g;s/Mb//g;s/Tuf//g;s/Rsg//g;s/Dec//g;s/Hdw//g;s/7p/720p/;s/Ithd//g;s/Ded//g;s/Centi//g;s/Haco//g;s/Dubbed//g;s/Dl//g;s/Gtvg//g;s/DL//g;s/Web//g;s/Details//g;s/Ws//g;s/X264//g;s/Euhd//g;s/Termi//g;s/Xvid//g;s/Ituneshd//g;s/\.+/./g;s/^\.+//;s/\.+$//'` 
181+
182-
   	mv $FILE $convert
182+
   if [ -f $FILE ]; then
183
        # nachfolgende Codezeile darf nicht "gelinebreakt" werden!
184
	NEW=`echo $FILE | sed -r 's/(\<.)/\u\1/g;s/([se][0123456789])/\U\1/g;s/Dvd/DVD/;s/Dts/DTS/;s/Hd/HD/;s/Csi/CSI/' | sed -r 's/(\....)$/\L\1/'`
185
        if [ $NEW != $FILE -a ! -f $NEW -a ! -d $NEW ]; then
186
	mv "$FILE" "$NEW"
187-
rmTagsRecursive > /dev/null
187+
	fi
188-
rmTags > /dev/null
188+
189
done
190
}
191-
##########################################################################################################
191+
192-
# move files to destinated folder
192+
renRecursive
193
sleep 1
194-
sleep 12
194+
renFolder
195
sleep 1
196-
ls -A runscript.sh |xargs rm
196+
renFiles
197
198
sleep 1
199
lowRecursive
200
sleep 1
201-
for FILE in `ls`
201+
lowFiles
202
203-
   if [ -d "$FILE" -o -f "$FILE" ]; then
203+
sleep 1
204-
        mv "$FILE" "$DESTINATION"
204+
rmTagsRecursive
205
sleep 1
206-
# index files and folders - only for synology nas
206+
rmTags
207-
#	cd "$DESTINATION"
207+
208-
#	if [ -d "$FILE" ] ; then 
208+
sleep 1
209-
#		/usr/syno/bin/synoindex -A "$FILE" > /dev/null
209+
renRecursive
210-
#	fi
210+
sleep 1
211-
#	if [ -f "$FILE" ] ; then 
211+
renFolder
212-
#		/usr/syno/bin/synoindex -a "$FILE" > /dev/null
212+
sleep 1
213-
#	fi
213+
renFiles
214
215
sleep 1
216
upRecursive
217
sleep 1
218-
copy2destination
218+
upFolder
219
sleep 1
220
upFiles
221-
##########################################################################################################
221+
222-
# remove created folder for dlc
222+
#---------------------------------------------------------------------------
223
#------- verschiebe Dateien und Ordner ins Zielverzeichnis
224-
rmdir "$UF_FOLDER"
224+
#------- loesche "runscript.sh" aus dem Downloadverzeichnis
225
#---------------------------------------------------------------------------
226
227-
##########################################################################################################
227+
sleep 5
228-
# end of script
228+
/opt/bin/find `$UF_FOLDER/`* -iname "Runscript.sh" -print | while read FILE
229
do
230-
exit
230+
rm "$FILE"
231
done
232
233
copy2destination()
234
{
235
echo "`date` /opt/bin/find `$UF_FOLDER/`* ! -iname "*.sh"" >> $LOGFILE 
236
/opt/bin/find `$UF_FOLDER/`* ! -iname "*.sh" -print | while read FILE
237
do
238
        echo "mv "$FILE" "$DESTINATION/"" >> $LOGFILE
239
        mv "$FILE" "$DESTINATION/"
240
done
241
}
242
243
copyseries()
244
{
245
for SERIEN in `cat $SERIES`
246
do
247
#---------------------------------------------------------------------------
248
#------- entferne "-type f" um die Datei inkl. Ordner, falls vorhanden, zu verschieben
249
#---------------------------------------------------------------------------
250
echo "`date` /opt/bin/find `$UF_FOLDER/`* -iname "*"$SERIEN"*" -type f" >> $LOGFILE
251
/opt/bin/find `$UF_FOLDER/`* -iname "*"$SERIEN"*" -type f -print | while read SERIE
252
        do
253
	echo "mv "$SERIE" "$DESTISERIEN/"$SERIEN"/"" >> $LOGFILE
254
        mv "$SERIE" "$DESTISERIEN/"$SERIEN"/"
255
        done
256
done
257
}
258
copyseries
259
260
#---------------------------------------------------------------------------
261
#------- loesche das - leere - Downloadverzeichnis
262
#---------------------------------------------------------------------------
263
264
if [ $? -eq 0 ] ; then
265
 sleep 25; rm -rf "$UF_FOLDER"
266
else
267
 copy2destination 
268
fi
269
270
if [ $? -eq 0 ] ; then
271
sleep 25; rm -rf "$UF_FOLDER"
272
fi
273
274
#---------------------------------------------------------------------------
275
#------- Scriptende
276
#---------------------------------------------------------------------------
277
278
exit 0