Bestimmte Zeichen am Ende eines Strings löschen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von rannseier » 30.11.2022 13:22:51

Hallo zusammen,

Ich habe Strings, bei denen am Ende die Zeichenkette " -" (Leerzeichen, Bindestrich) auftaucht. Diese möchte ich gezielt löschen.

Wie mach ich das am einfachsten?


Danke und Gruß,
Rannseier

Benutzeravatar
Livingston
Beiträge: 1367
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von Livingston » 30.11.2022 13:34:37

In einer Datei:

Code: Alles auswählen

sed 's/ -$//' DATEINAME
In einer Variable:

Code: Alles auswählen

echo $VARIABLE|sed 's/ -$//'
Also: Ersetzen (s) der Zeichenreihe (" -") am Zeilenende ($) durch nichts ("")
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von hikaru » 30.11.2022 13:34:49

Ich würde es interaktiv in vi mit diesem Kommando machen:

Code: Alles auswählen

:%s/ -$//g
Mit sed geht das auch:

Code: Alles auswählen

sed 's/ -$//g' DATEI
Die Ausgabe musst du dann entweder in eine Datei umlenken oder es mit -i "inplace" machen.

Und gleich kommt bestimmt noch jemand mit awk um ie Ecke. ;)

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von Meillo » 30.11.2022 13:54:44

hikaru hat geschrieben: ↑ zum Beitrag ↑
30.11.2022 13:34:49
Und gleich kommt bestimmt noch jemand mit awk um ie Ecke. ;)
Hehe. ;-)

Nee, ich komme mit reiner Shell daher. Wenn der String in einer Shellvariablen steckt, kann man den Suffix so entfernen:

Code: Alles auswählen

echo "${foo% -}"

Interessant ist allerdings, dass bislang noch gar nicht gesagt wurde, in welcher Programmiersprache oder Form die Strings eigentlich vorliegen. Womoeglich sind es Java-Strings und unsere Antworten sind alle voellig daneben. :-D
Use ed once in a while!

Benutzeravatar
TRex
Moderator
Beiträge: 8038
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von TRex » 30.11.2022 14:07:24

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.11.2022 13:54:44
Womoeglich sind es Java-Strings und unsere Antworten sind alle voellig daneben.
Lochkarten!
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von Meillo » 30.11.2022 14:22:18

TRex hat geschrieben: ↑ zum Beitrag ↑
30.11.2022 14:07:24
Meillo hat geschrieben: ↑ zum Beitrag ↑
30.11.2022 13:54:44
Womoeglich sind es Java-Strings und unsere Antworten sind alle voellig daneben.
Lochkarten!
Na, da ist's ganz einfach: Man nimmt die Schere und schneidet die Karte an der betreffenen Stelle ab. :P
Use ed once in a while!

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von rannseier » 30.11.2022 14:37:20

So funktioniert das für mich:
new_dirname=$(echo "$new_dirname" | sed -e 's/ -$//g')

Performance auf dem NAS ist zwar ranzig, tut aber der Funktionalität keinen Abbruch.

Danke euch.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von Meillo » 30.11.2022 14:42:11

rannseier hat geschrieben: ↑ zum Beitrag ↑
30.11.2022 14:37:20
So funktioniert das für mich:
new_dirname=$(echo "$new_dirname" | sed -e 's/ -$//g')

Performance auf dem NAS ist zwar ranzig, tut aber der Funktionalität keinen Abbruch.
Dann probier's mal mit dem Vorschlag von mir. Der geht ohne separate Prozesse und damit viel weniger Overhead.
Use ed once in a while!

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von rannseier » 30.11.2022 14:50:46

Das sind gute 500 Zeilen nach dem Muster:

Code: Alles auswählen

   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2000/ - 2000 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2001/ - 2001 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2002/ - 2002 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2003/ - 2003 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2004/ - 2004 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2005/ - 2005 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2006/ - 2006 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2007/ - 2007 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2008/ - 2008 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2009/ - 2009 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2010/ - 2010 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2011/ - 2011 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2012/ - 2012 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2013/ - 2013 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2014/ - 2014 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2015/ - 2015 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2016/ - 2016 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2017/ - 2017 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2018/ - 2018 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2019/ - 2019 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2020/ - 2020 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2021/ - 2021 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2022/ - 2022 /g')
Der eine Echo macht den Braten auch nicht fett. Dafür funktioniert es. Ist ja nicht zeitkritisch.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von Meillo » 30.11.2022 15:06:07

Es hatte sich so angehoert, wie wenn die Zeitperformance eine Relevanz haette. Wenn das egal ist, ist's ja okay.


Eher wuerde mich stoeren, dass es repetitiver Code ist. Die von dir geposteten Zeilen koennte ich durch einen einzigen Befehl ersetzen. 500 Zeilen hoert sich schlimm an. (Ich hoffe, du hast die wenigstens mit parametrisiertem Suchen-Ersetzen bearbeitet und nicht von Hand. ;-) )

Wenn du damit zufrieden bist, ist alles okay, aber wenn du gerne lernen willst, wie man das anders und vielleicht besser umsetzen kann, dann koennten wir das hier weiter vertiefen. Ganz wie du willst.


Nachtrag: Moeglicherweise arbeiten die sed-Befehle nicht so wie du denkst, da der Punkt dort fuer ein beliebiges Zeichen steht und nicht fuer den Punkt. Bei sed sind Regulaere Ausdruecke relevant. Beim meinem Shellvorschlag (${var% -}) sind es keine Regulaeren Ausdruecke aber dafuer Shell-Globbing. In beiden Faellen muss man das beachten, um keine Ueberraschungen zu erleben.
Use ed once in a while!

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von hikaru » 30.11.2022 15:14:50

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.11.2022 15:06:07
Die von dir geposteten Zeilen koennte ich durch einen einzigen Befehl ersetzen.
Go away, or I will replace you with a very small script! :mrgreen:

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von rannseier » 30.11.2022 15:37:45

Klar.
Momentan bearbeitet das Script den Download-Ordner und manipuliert die Verzeichnisnamen. Im ersten Anlauf klappt das nicht immer (u.a. weil die Unterordner eingelesen werden und erst nachher der Hauptordner umbenannt wird), es sieht aber zumindest schon mal ganz gut aus.

Aufgabe des Scriptes ist es, die Verzeichnisnamen soweit zu bereinigen, damit ich halbautomatisch die Dateinamen anpassen kann.

Code: Alles auswählen

#!/bin/bash

find * -type d -empty -delete

pfad=$(pwd)
echo $pfad


OLDIFS=$IFS
IFS=$'\012'

for i in $(find * -maxdepth 1 -type d)
do
   echo $i
   new_dirname=$(echo "$i"            | sed -e 's/ /./g') 
   # nur ein auszueg aus den Dateinamen
   [...]
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Substance/ /g')
   [...]
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.1988/ - 1988 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.1989/ - 1989 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.1990/ - 1990 /g')
   [...]
   new_dirname=$(echo "$new_dirname"  | sed -e 's/[(]/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/[)]/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\ /\./g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/_/\./g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\./\ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/-\ -/\ -\ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\ \ /\ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/   -   / - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ - - / - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ -  - / - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/  -  / - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/      / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/     / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/    / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/   / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/  / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/^ *//;s/ *$//') # Leerzeichen am Ende loeschen 
   [...]
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ - - / - /g')
   [...]
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ -$//g')

   if [ "$i" != "$new_dirname" ]; then
       mv "${i}" "${new_dirname}"
#      echo $i
       echo $new_dirname
       echo
   fi

done

IFS=$OLDIFS

find * -type d -empty -delete

find . -iregex ".*[äöüß].*" -printf "%d %p\n" | sort -rn | cut -d ' ' -f2- | xargs -i sh -c 'export f="{}";mv "$f" "${f%/*}/$(echo "${f##*/}" | sed -re "s/ä/ae/g" -e "s/ü/ue/g" -e "s/ö/oe/g" -e "s/Ä/Ae/g" -e "s/Ö/Oe/g" -e "s/Ü/Ue/g" -e "s/ß/ss/g")"'
         
   
Das Script arbeitet den Download-Ordner durch und passt die Ordnernamen einigermassen an. Der 2. Bearbeitungsschritt ist dann, dass ich mit z.B. Commander One die Ordner durchgehe mit den Bearbeitungsschritten:
Shift-F6 (Verzeichnisnamen markieren)
Command C (Verzeichnisnamen als String markieren)
Enter (Rein in den Ordner)
Richtige Datei unter vielen suchen
Shift-F6 (Dateiname ohne Extension markieren)
Command V (Dateinamen durch den bereinigten Ordnernamen ersetzen)
Enter
F6 - Datei in den richtigen Ordner verschieben

Die Dateinamen anzupassen habe ich mal irgendwann aufgegeben, da dafür keine Struktur besteht. Man müsste dann noch nach Größe sortieren (Samples) etc. Da kann ich auch eben mit einem Filecommander meiner Wahl durch, das geht mit etwas Übung schnell genug.

Das Script macht im Grund nur folgendes:
- Als erstes alle Leerzeichen durch Punkte ersetzen
- Alle unerwünschten Zeichenketten durch Leerzeichen zu ersetzen (>500 Stück)
- Bindestrich werden durch Leerzeichen-Bindestrich-Leerzeichen ersetzt
- Alle doppelten (oder mehr) Leerzeichen zu einem zusammenfassen
- Leerzeichen-Bindestrich am Ende wird nun gelöscht

Das Script selbst läuft die auf dem (Synology)-NAS. Auf einem QNAP-NAS lief es vorher auch.

Dass das Script z.B. Leerzeichen im String erzeugt um ihn später wieder zu löschen tut dem Prozess als solches erstmal keinen Abbruch.

Die Idee wäre z.B. die Strings in ein Array zu packen, sei es im Script oder als weitere Datei.


Meinung dazu?
Zuletzt geändert von rannseier am 30.11.2022 15:58:13, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von Meillo » 30.11.2022 15:43:20

Klarer Fall fuer den RegExp-Kurs: viewtopic.php?t=183941 ;-)


@all: Betrachtet das als nachtraegliche Uebungsaufgabe fuer den RE-Kurs. (sed verwendet allerdings BREs und keine EREs, es sei denn, man verwendet `sed -E'.) Ich halte mich nun erstmal zurueck und warte auf eure Verbesserungsvorschlaege. 8)

@rannseier: Die Ersetzungen lassen sich bedeutend eindampfen. Gemeinsam koennen wir dein Script nach und nach verbessern und dir parallel dazu erklaeren, was man anders machen koennte und wieso. Am Ende sollst du ja etwas dazugelernt haben und nicht nur ein tolles Script haben.
Use ed once in a while!

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von rannseier » 30.11.2022 15:54:19

Das können wir gern so zusammen machen.

Dann bauen wir letztendlich daraus ein universelles Script was auf Wunsch Dateinamen oder Verzeichnisnamen anpasst und bei Google oben in der Suche gefunden wird. ;)

tobo
Beiträge: 1964
Registriert: 10.12.2008 10:51:41

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von tobo » 30.11.2022 16:07:17

rannseier hat geschrieben: ↑ zum Beitrag ↑
30.11.2022 15:37:45
Klar.
Momentan bearbeitet das Script den Download-Ordner und manipuliert die Verzeichnisnamen. Im ersten Anlauf klappt das nicht immer (u.a. weil die Unterordner eingelesen werden und erst nachher der Hauptordner umbenannt wird), es sieht aber zumindest schon mal ganz gut aus.
Find läuft durch und merkt sich seine Ergebnisliste. Mal angenommen die wäre:
a/
a/b/
a/c/
Wenn du jetzt a änderst, dann werden /a/b/ und /a/c/ nicht mehr gefunden. Deswegen musst du die Liste rückwärts aufbauen:
/a/c/
/a/b/
/a/
Jetzt änderst du zuerst c und b, und das hat dann keinen Einfluss mehr auf a. Der entsprechende find-Paramter dazu ist -depth.

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von rannseier » 30.11.2022 16:15:31

Also einfach

Code: Alles auswählen

for i in $(find * -maxdepth 1 -type d)
durch

Code: Alles auswählen

for i in $(find * -maxdepth 1 -type d - depth)
ersetzen?

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von hikaru » 30.11.2022 16:21:11

Ich sehe da mehrerere Doppelungen und Hin-und-Her-Ersetzungen die sich alle eindampfen ließen. Zeig doch bitte mal die ungekürzte Liste, damit wir jetzt nicht anfangen das zu kürzen und am Ende einen Spezialfall übersehen!

tobo
Beiträge: 1964
Registriert: 10.12.2008 10:51:41

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von tobo » 30.11.2022 16:40:04

hikaru hat geschrieben: ↑ zum Beitrag ↑
30.11.2022 13:34:49
Ich würde es interaktiv in vi mit diesem Kommando machen:

Code: Alles auswählen

:%s/ -$//g
Wieso interaktiv, wenn es auch ohne Interaktion geht?

Code: Alles auswählen

$ ex - FILE <<!
g/ -$/s// 
wq
!
$

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von rannseier » 30.11.2022 16:49:23

Ob du das wirklich möchtest weiss ich nicht ;-) , aber wie gewünscht hier das ganze histerisch gewachsene Machwert:

Code: Alles auswählen

#!/bin/bash

find * -type d -empty -delete

pfad=$(pwd)
echo $pfad


#find . -type d -maxdepth 1 -name "*GERMAN*"

OLDIFS=$IFS
IFS=$'\012'

for i in $(find * -maxdepth 1 -type d)
do
   echo $i
   new_dirname=$(echo "$i"            | sed -e 's/ /./g') 
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264.iNTERNAL-BiGiNT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264.-.miXXed.\(DDL\)/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.AC3.XVID-PS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB-DL.x264.AC3-SNAKE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3D.720p.BluRay x265-/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.x264-iNTENTiON/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WS.dTV.x264.iNTERNAL-CDD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3D.720p.BluRay.x264-DiRTYDUB/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEB.x264.iNTERNAL-CDD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRiP.x264-CDD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Dubbed.NetflixHD.x264-TVS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRiP.XviD.iNTERNAL-ZZG/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.DVDRiP.x264-KNT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.Dubbed.720p.BluRay.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720P.WEB.H264.REPACK-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRiP.x264-WiSHTV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DUBBED.WEBRip.x264-AIDA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.DVDRiP.XViD-DAFTPUNK/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264.PROPER-DETAiLS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720P.WEB.X264.INTERNAL-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEB.h264-SUiCiDAL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.5.1.720p.WEB-DL.h264-PS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-CDD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.HDTV.x264.iNTERNAL-HDTVBoX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEB.x264-CDD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3D.720p.BluRay.x264-GSG9/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.x264-DETAiLS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-PRD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.WEBRiP.XviD-SHOWE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AAC51.Dubbed.720p.iTunesHD.x264.-.Kristallprinz/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720P.WEB.X264.PROPER-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRiP.x264-MUNCHY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.HDTV.x264.iNTERNAL-HDTVBoX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-SAViOUR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264-TVNATiON/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.HDTV.x264-MDGP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.h264-PRD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRip.AC3.x264-PS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WS.WEB.H264-idTV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-WiSHTV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.HDRip.XviD-iNCEPTiON/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.720p.BluRay.x265-w00t/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB-DL.EVO.x264.NL.Subs.Ingebakken/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-SONS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Complete.1080p.WEB.x264.-.GHOSTS.Rapidgator/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRip.XViD-DcN.\[NORAR\]/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\-DEiTY.\[NORAR\]/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRip.x264-SAViOUR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.x264-UTOPiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.264-LameHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEBRiP.x264-RWP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRiP.XviD.iNTERNAL-MWS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRiP.x264.REPACK-LAW/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.VC1.PROPER-SAViOURHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DD51.720p.HDTV.x264.-.HQC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB.X264-FENDT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720P.WEB.X264.REPACK-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WS.AC3.DVDRiP.x264-SAViOUR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720P.WEB.X264.READ.NFO-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WS.dTV.x264-CDD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.x264-ROCKEFELLER/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRip.XviD-MAJESTiC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEB.XviD-HoU/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-DETAiLS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRiP.XViD-ETM/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-GMA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3D.1080p.BluRay.x264-BluByte/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRip.XviD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ViDEOWELT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.1080p BluRay.x264-SoW/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.DVDRiP.XviD-FilmGmbH/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.1080p.BluRay.x265-HQX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.1080p.BluRay.x265-FUN/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Substance/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DD51.1080p.AmazonHD.x264-UppLoader Upl/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.Dubbed.720p.BluRay.x264-muhHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.DUBBED.BDRiP.XViD-HaN/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DUBBED.WebRip.x264-AIDA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DUBBED.1080p.WebHD.h264-AIDA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720P.WEB.H264.INTERNAL-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Dubbed.Webrip.x264-jUNiP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3D.720p.BluRay.x264-CLASSiCALHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-RedHands/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720P.WEB.X264-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.x264-AWARDS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.WEBRiP.XViD-57r/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264.-.TV4A/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-LizardSquad/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRip.x264-BARGAiN/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRip.x264-PL3X/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRiP.x264-SAViOUR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DTS.720p.BluRay.x264-COiNCiDENCE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB.x264.-.GHOSTS Rapidgator/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRiP.x264.iNTERNAL-FiSSiON/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.HDTV.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264-iND/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x265-POGGERS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264-FSX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRiP.x264-LAW/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB.H264-CLASSiCALHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRip.x264-OldsMan/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.H264-CLASSiCALHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264.iNTERNAL-FiSSiON/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRiP.x264-DEFLOW/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.h264-WvF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DUBBED.1080p.WEB.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTVRiP.x264-UTOPiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264.-.SCENE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-UTOPiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-Scene/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB.x264-WvF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-GOREHOUNDS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-UNiVERSUM/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRip.x264.iNTERNAL-SPiCY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRip.x264-SAVASTANOS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DTS.1080p.BluRay.x265-UNFIrED/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRip.x264-AWARDS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3D.1080p.BluRay.x264-CLASSiCALHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.XViD-LeetXD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-Scene/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-MDGP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264.iNTERNAL-CTVG/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.1080p.BluRay.x264-SoW/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.1080p.BluRay.x265-w00t.-.Warez-Heaven.ws/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\DOKU.1080p.HDTV.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\DOKU.HDTVRip.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.DL.DOKU.720p.HDTV.x264-TSCC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\GERMAN.DOKU.HDTVRip.x264-LiKEiT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\GERMAN.DL.DOKU.720p.WEB.x264-NFLX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB.H264-TSCC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.1080p.WebHD.h264-ENTiCEMENT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-DETAiLS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-CONTRiBUTiON/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRip.x264-SAVASTANOS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.x264-LizardSquad/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-PL3X/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.H264-PsLM/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.x264-CONTRiBUTiON/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.DVDRip/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRip.x264-SAVASTANOS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRiP.x264-GOREHOUNDS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Dubbed.BDRip.x264.iNTERNAL-muhHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB.x264-OHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-SPiCY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEBRip.x264-WvF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/2160p.WEBRiP.x265-CTFOH/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BluRay.x264.-.miXXed.\(DDL\)/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRiP.x264-EXQUiSiTE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Peninsula.WEBRip/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.h264-SLG/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEB.H264-FENDT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264-OHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.DVDRiP.XviD-xD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB.h264-WvF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264-OHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-MOViEiT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-SPiCY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRip.XviD.INTERNAL-ARC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.DVDRip/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRip.x264-ROCKEFELLER/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.R5.AC3MD.XviD-SMD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-UNiVERSUM/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x265-UNFIrED/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRip.x264.iNTERNAL-PL3X/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-DETAiLS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264.iNTERNAL-BiGiNT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-SONS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.R5.AC3MD.XviD-SMD/ MD /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRiP.XViD-ETM/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\GERMAN.DL.DOKU.1080P.WEB.X264.PROPER-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\GERMAN.DL.DOKU.720p.WEB.x264-NFLX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\German.DOKU.1080p.HDTV.x264-DOKUMANiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\FS.DVDRip.XviD.-.DMD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-Pumuck/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-STARS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-LizardSquad/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264-WvF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080P.WEB.X264-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264.REPACK-OHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.H264.REPACK-FENDT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.UHD.BluRay.HDR.x265-WHQuAlitY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264-GHDP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-ROCKEFELLER/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080P.WEB.H264-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEB.x264-4SJ/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEBRiP.x264-muhHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRiP.x264-STARS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.DVDRip.x264-SAVASTANOS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264.iNTERNAL-PRD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRiP.x264.iNTERNAL-CiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRIP.XVID-LieS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEBRip.x264-CLASSiCALHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3D.1080p.WEB.x264-CLASSiCALHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BluRay.x265-FuN/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-ENCOUNTERS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-EPHEMERiD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTT.x264.-.HQC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\GERMAN.DOKU.HDTV.x264-BERTi/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\HDTVRip.x264.REAL-DOKUMANiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\-xpost/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.Doku./ Doku /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\DUBBED.DOKU.WEBRip.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-ATAX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.WEB.x264-NFLX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.WEB.x264-NFLX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\DVDRip.x264-SDGRP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.DL./ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-TSCC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264-DOX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-EUROPIPE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WS.HDTVRip x264-Pumuck/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.HDTV.x264-DOKUMANiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264-DOX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRip.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WS.HDTVRip.x264-Pumuck/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.720p.WebHD.x264-iND/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRiP.x264-EUROPIPE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264-MDGP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DOKU/ Doku /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\FS.DVDRip.XviD.-.DMD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080P.WEB.X264-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.FS./ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTV.x264-RiO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264-TVARCHiV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRip.x264.REPACK-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264-LiKEiT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080P.WEB.X264.PROPER-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTV.x264-BERTi/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\HDTVRip.x264.iNTERNAL-ATAX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\DVDRip.x264-SDGRP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.HDTV.x264-DOKUMANiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\HDTVRip x264-MDGP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\WS.HDTVRip.x264-Pumuck/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\-xpost/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\WEBRip.x264-TMSF-xpost/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.HDTV.x264-EUROPIPE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\HDTVRip x264 iNTERNAL-ATAX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\DL.DOKU/ DOKU /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\HDTVRip.x264-ATAX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DL.720p.WEB.X264-FENDT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DL.720P.WEB.H264-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.DOKU.720p.HDTV.x264-TVARCHiV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DL.DOKU.720P.WEB.X264-WAYNE/ /g') 
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.720p.WEB.x264-NFLX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.720p.WEB.x264-GTVE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DOKU.HDTVRip.x264-ATAX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DOKU.720p.HDTV.x264-TVARCHiV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.HDTVRip.x264-DOX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.DOKU.DVDRip.x264-SDGRP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.WS.HDTVRip.x264-Pumuck/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DL.DOKU.720p.HDTV.x264-TSCC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.HDTVRip.x264-MDGP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DOKU.720p.HDTV.x264-DOKUMANiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.DOKU HDTVRip x264-TMSF-xpost/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.HDTVRip.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.720p.HDTV.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\ GERMAN?DOKU?720p?HDTV?x264-MDGP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DL.DOKU.720p.HDTV.x264-LiKEiT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.HDTV.720p.x265/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.HDTV.720p.x264-iNFOTv/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.1080P.WEB.X264-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.BDRip.x264-UNiVERSUM/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.HDTVRip.x264-MDGP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.1080p.BluRay.x264-PL3X/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.BDRip.x264-ROOR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.BDRiP.x264-WOMBAT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.BDRip.x264-ROOR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.720p.WEB.h264-WvF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.DVDRip.XviD.iNTERNAL-CENTi/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.Dubbed.DL.AmazonHD.x264-TVS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.HDTVRiP.x264-iNFOTv/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\AC3.BDRip.x264-MOViEiT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.Dubbed.BDRiP.x264-muhHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.720p.WEB.x264-TSCC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.BDRiP.x264-TV4A/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.1080p.BluRay.x265-GTF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.720p.WebHD.h264-CNHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.720p.WEB.x264-GTVE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DVDRiP.XViD-GWL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DL.1080p.WEB.H264-BiMBAMBiNO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.1080p.BluRay.x264-ENCOUNTERS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.720p.HDTV.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.720p.BluRay.x264-iNKLUSiON/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.BDRiP.x264-PL3X/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DUBBED.DL.AC3.720p.WEB-DL.h264-TvR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.WEB.H264-idTV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.DVDRiP.x264-SAViOUR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.KINOFASSUNG.GERMAN.DVDRIP.X264-WATCHABLE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DOKU.HDTVRip.x264-DOKUMANiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.DVDRip.x264.iNTERNAL-TVARCHiV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.1080p.BluRay.x264.PROPER-iFPD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3D.BDRip.x264-GSG9/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.DL.German.DD51.Dubbed.AmazonHD.x264-GDR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.FS.AmazonSD.EAC3.h264-4SJ/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.1080p.BluRay.x264-GVD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.2012.AC3.BDRiP.x264-XF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.BDRiP.XviD-w0rm/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DUBBED.DL.720p.WEB.H264-TSCC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.1080p.HDTV.x264-OMGtv/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.Dubbed.BDRip.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.AC3.Dubbed.1080p.BluRay.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.2014.AC3.BDRiP.x264-EXQUiSiTE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.BDRiP.XViD-SONS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.FS.720p.BluRay.x264.RERiP.PROPER-PL3X/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.FS.720p.BluRay.x264.PROPER-PL3X/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.720p.HDTV.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.BDRiP.x264-ROOR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.BDRip.XviD-RSG/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.HDTV.1080p.x264-iNFOTv/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.DVDRiP.x264-SAViOUR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.1080p.BluRay.x264-ENCOUNTERS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.1080p.HDTV.x264-EUROPIPE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.Dubbed.DL.iTunesHD.x264-TVS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.DL.1080p.BluRay.x264.iNTERNAL-VideoStar/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DL.720p.WEB.H264-TSCC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.720p.HDTV.x264-MDGP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.1080p.BluRay.x264-FRACTAL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.WS.1080p.HDTV.x264-HOLiDAY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.1080p.BluRay.x264-iFPD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.1080p.BluRay.x264-iFPD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.720p.WEB.x264-GTVE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.HDTV.x264-ACED/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.BDRip.x264-SPiCY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.1080p.WEB.x264-GTVE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.1080p.HDTV.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.AC3.Dubbed.720p.BluRay.x264.iNTERNAL-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.BDRip.x264.RERiP-EMPiRE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.2016./ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.2017./ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.1080p.BluRay.x265-GTF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.DVDRiP.XViD-CiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.720P.WEB.X264-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.WebHD.x264-RTL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DUBBED.BDRip.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DUBBED.DL.720p.BluRay.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.COMPLETE.PAL.DVDR-DF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.720p.WEB.x264-GTVE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.Dubbed.BDRip.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.EAC3.Dubbed.720p.BluRay.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.720p.HDTV.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.AmazonHD.x264-TVS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.DVDRiP.XviD.iNTERNAL-HACO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.Dubbed.WEBRip.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.1080p.BluRay.x265-GTF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.DVDRiP.XViD-iFPD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3D.720p.WEBRip.x264-HDARCHiV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.2019.DL.PAL.DVDR-OldsMan/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.WS.DVDRip.x264-OldsMan/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.1080p.HDTV.x264-RWP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.DVDRiP.XViD.iNTERNAL-CiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.WEB.H264-idTV/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.BDRip.x264-EMPiRE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.DUBBED.720p.BluRay.x264-AIDA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.1080p.HDTV.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.DVDRiP.XviD-KLASSiGER/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.WEBRiP.x264-muhHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.HDTVRip.x264-DOKUMANiA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DD51.Dubbed.DL.720p.AmazonHD.AVC-TVS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.Dubbed.BDRip.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.FS.720p.HDTV.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.HDTVRiP.x264-iNFOTv/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DOKU.HDTVRiP.x264-iNFOTv/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.WS.HDTVRip.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.720p.WEB.x264-TSCC/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.WEBRip.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.BDRip.x264.iNTERNAL-VideoStar/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.DL.1080p.BluRay.AVC-iTSMEMARiO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DVDRip.XviD-CRUCiAL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.1080p.HDTV.x264-SPORTY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.AC3.Dubbed.BDRip.x264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.HDTVRip.x264-NORETAiL/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.AC3.BDRip.x264-SPiCY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.DL.1080p.BluRay.x264-ENCOUNTERS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.720p.HDTV.x264-ACED/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.1080p.BluRay.x264-ROOR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.German.720p.BluRay.x264-ROOR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\.GERMAN.720P.WEB.H264-WAYNE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\-.filecrypt.cc/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.German./ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.GERMAN./ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.GERMAN.DOKU.WS.HDTVRip.x264-Pumuck./ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\ DVDRiP.x264.iNTERNAL-CiA / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.UNCUT./ - Uncut - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.uncut./ - Uncut - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.UNRATED./ - Unrated - /g')   
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.x264-iNTENTiON./ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2000/ - 2000 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2001/ - 2001 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2002/ - 2002 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2003/ - 2003 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2004/ - 2004 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2005/ - 2005 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2006/ - 2006 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2007/ - 2007 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2008/ - 2008 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2009/ - 2009 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2010/ - 2010 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2011/ - 2011 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2012/ - 2012 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2013/ - 2013 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2014/ - 2014 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2015/ - 2015 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2016/ - 2016 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2017/ - 2017 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2018/ - 2018 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2019/ - 2019 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2020/ - 2020 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2021/ - 2021 /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2022/ - 2022 /g')

 [...Jahreszahlen gekürzt, Beitrag zu lang...]
      
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Webrip.x264-miSD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.x264-SUBARU/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.Dubbed.BDRiP.x264.iNTERNAL-muhHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.X264-AMIABLE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.x264-SPiCY/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-FuN/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRiP.x264-SHOWE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip.x264-RedHands/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HDTVRip.x264-TMSF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BRRip.AAC2.0.X.264-EVO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.BluRay.x264-AMBASSADOR/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p.hdtv.x264-dokumania/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.BluRay.AVC-SAViOURHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Webrip.x264-jUNiP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/EAC3.720p.WEB.h264-PsO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p.HDTV.x264.PROPER-MDGP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3.BDRip.x264.-.SCENE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRiP.XviD-FmE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ - - / - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ 720 / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/UNCUT/uncut/g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/EAC3D/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/microHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/720p/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BluRay/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-ENCOUNTERS/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DVDRiP/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HOMIE-Warez/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AC3/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRip/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/u00f/ue/g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/REPACK-LizardSquad/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/[(]/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/[)]/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\ /\./g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/_/\./g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\./\ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/-\ -/\ -\ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/\ \ /\ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/   -   / - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ - - / - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ -  - / - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/  -  / - /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/      / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/     / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/    / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/   / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/  / /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/^ *//;s/ *$//') # Leerzeichen am Ende loeschen 
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRip/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-iMPERiUM/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-ROCKEFELLER/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRiP/ /g')               
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-4SJ/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-RED/ /g')         
   new_dirname=$(echo "$new_dirname"  | sed -e 's/1080p/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/XviD-XF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Webrip/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-muhHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-BiGiNT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-RED/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/iNTERNAL-NGE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/800p/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/AmazonHD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-SLG/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-TVS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-XF/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-PS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WEBRiP/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-SLG/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-RSG/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-EXCiTED/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/RERip-ROCKEFELLER/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-iNKLUSiON/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/BDRIp/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x264-COiNCiDENCE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/REMASTERED/Remastered/g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/GMA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ZeroTwo/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/SAVASTANOS/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/iNTERNAL-BiGiNT/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/Raistlin911/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/XviD-MBA/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/iNTERNAL-ARMO/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/HCSW/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/COiNCiDENCE/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/DMPD/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/H264/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ -$//g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/x265-J2K22/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/OBLiGATED/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/FSX/ /g')
   new_dirname=$(echo "$new_dirname"  | sed -e 's/WDC/ /g')

   # zum schluss
   new_dirname=$(echo "$new_dirname"  | sed -e 's/ -$//g') # Leerzeichen-Bindestrich am Stringende löschen
            
            
#   echo ${new_dirname%.*}

   if [ "$i" != "$new_dirname" ]; then
       mv "${i}" "${new_dirname}"
#      echo $i
       echo $new_dirname
       echo
   fi

done

echo bereinigt

#find . -depth -type d -name '* ' -exec rename -n 's/ $//' {} \;

IFS=$OLDIFS
find *  -type d -empty -delete

find . -iregex ".*[äöüß].*" -printf "%d %p\n" | sort -rn | cut -d ' ' -f2- | xargs -i sh -c 'export f="{}";mv "$f" "${f%/*}/$(echo "${f##*/}" | sed -re "s/ä/ae/g" -e "s/ü/ue/g" -e "s/ö/oe/g" -e "s/Ä/Ae/g" -e "s/Ö/Oe/g" -e "s/Ü/Ue/g" -e "s/ß/ss/g")"'

Mittlerweile sind auch ein paar Sachen falsch oder in der falschen Reihenfolge. Nach 2-3 Durchläufen ist der Ordner aber erstmal sauber. Nach ein paar Jahren weiss ich irgendwann nicht mehr, was ich warum gebaut hatte. 2009 hatte ich das mal unter Windows gebaut, da war aber das Eingangsmaterial noch einfacher.

Ziele:
- Jahreszahlen in Leerzeichen einbetten mit Bindestrich davor ("- 2022 ") (Muster: 19xx, 20xx)
- Punkte im Dateinamen/Verzeichnisnamen löschen, Extension lassen
- Unterstriche durch Leerzeichen ersetzen
- Bestimmte Strings löschen (stetig erweiterte Liste) (=durch Leerzeichen ersetzen, weil dieser String auch Teil eines anderen String sein kann auf den ein weiterer nicht ersetzter String folgt; Beispiel: "wurst" ersetzen, "Bratwurstschnitzel" soll "Brat schnitzel" werden)
- Sonderzeichen löschen (möglichst hohe, aber nicht maximale Kompatibilität auf verschiedenen Dateisystem (Linux, Mac und Windows; DOS, Minix, Windows 3.11, Amiga und Atari sind mir egal)
- Umlaute ersetzen (groß/klein dabei egal, da keinen reinen Capital-Strings existieren sollen)
- Mehrere folgende Leerzeichen durch eins ersetzen (durch das Stringersetzen oben übrig gebliebene Rest)
- Leerzeichen am Ende löschen
- Human readable

Beispiel für Ordner:
"Hochauflösendes_Fortpflanzungsvideo.videox86.eagle____!!!!!(2034)group.bratwurst.2022.dasletzterelease" wird zu "Hochaufloesendes Fortpflanzungsvideo 2022"

Wenn der String "eagle" noch nicht bekannt wer wird das Script ergänzt (das Verzeichnis bleibt als Referenz drin) und nach dem nächsten Lauf geprüft ob er danach "sauber" ist.

Aufgrund des genutzen Entpackers und der Entpackstruktur liegt der Ordner auch schon mal so rum:
./ijslfij sdlkf2022jldsf/Hochauflösendes_Fortpflanzungsvideo.videox86.eagle____!!!!!(2034)group.bratwurst.2022.dasletzterelease/jdshkdsjhfksdf.mkv

Wenn das Verzeichnis "Hochauflösendes_Fortpflanzungsvideo.videox86.eagle____!!!!!(2034)group.bratwurst.2022.dasletzterelease" in mehreren Durchläufen noch übrig ist wird er halt mit F6 in das Hauptverzeichnis verschoben. Im nächsten Durchlauf ist dann der nun leere Ordner weg und der Name hoffentlich angepasst.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von Meillo » 30.11.2022 17:35:46

rannseier hat geschrieben: ↑ zum Beitrag ↑
30.11.2022 16:49:23
Ziele:
- Jahreszahlen in Leerzeichen einbetten mit Bindestrich davor ("- 2022 ") (Muster: 19xx, 20xx)
- Punkte im Dateinamen/Verzeichnisnamen löschen, Extension lassen
- Unterstriche durch Leerzeichen ersetzen
- Bestimmte Strings löschen (stetig erweiterte Liste) (=durch Leerzeichen ersetzen, weil dieser String auch Teil eines anderen String sein kann auf den ein weiterer nicht ersetzter String folgt; Beispiel: "wurst" ersetzen, "Bratwurstschnitzel" soll "Brat schnitzel" werden)
- Sonderzeichen löschen (möglichst hohe, aber nicht maximale Kompatibilität auf verschiedenen Dateisystem (Linux, Mac und Windows; DOS, Minix, Windows 3.11, Amiga und Atari sind mir egal)
- Umlaute ersetzen (groß/klein dabei egal, da keinen reinen Capital-Strings existieren sollen)
- Mehrere folgende Leerzeichen durch eins ersetzen (durch das Stringersetzen oben übrig gebliebene Rest)
- Leerzeichen am Ende löschen
- Human readable
Ich finde eine solche Untergliederung wichtig. Die verschiedenen Arten von Ersetzungen sollten separat erledigt werden, denke ich.

Die Jahreszahlen, unerlaubten Zeichen, doppelte Leerzeichen und so lassen sich mittels regulaerer Ausdruecke mit wenigen (etwas besseren) Befehlen durchfuehren.

Die riesige Liste an konkreter Strings wuerde ich in eine Textdatei packen (ein String pro Zeile) und dann mit `fgrep -f' anwenden, dann sind die Daten vom Code getrennt und alles wird uebersichtlicher.
Use ed once in a while!

Benutzeravatar
TRex
Moderator
Beiträge: 8038
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von TRex » 30.11.2022 17:55:14

Und nicht die menschliche Fähigkeit zur Mustererkennung außer Acht lassen: ich hab das mit den Unterverzeichnissen nicht überlesen, dennoch würde ich versuchen, für die genannten Verzeichnisse einen regulären Ausdruck zu finden, mit dessen Hilfe ich die Informationen aus dem Namen hole und wieder ablege. Eventuell den ursprünglichen Namen in einer Textdatei hinterlegen. Dazu würde ich den inhaltlichen linken Teil des Dateinamens so gut es geht abschneiden und den Rest erstmal sortieren, um dann ein Muster im Rest zu erkennen.

Als Hilfsmittel würde ich vermutlich ein kleines Script schreiben, welches mir für einen gegebenen Regex aufsummiert, wieviel von wieviel Verzeichnissen bereits matchen (und die ersten zehn, die das nicht tun).

Aber das ist meine Vorgehensweise - ich hab kein Problem damit, drei Tage lang die Axt zu schärfen, obwohl der Baum auch mit nem Löffel umgehauen werden könnte :mrgreen:
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von rannseier » 30.11.2022 19:12:35

Dann fangen wir doch einfach mal an:

Schritt 1:
Das Script ersetzt zuerst alle Leerzeichen durch Punkte:

Code: Alles auswählen

   new_dirname=$(echo "$i"            | sed -e 's/ /./g') 
Dies dient dazu, erstmal ein einheitliches Format zu erreichen. Geht das irgendwie schneller oder besser oder kann das erstmal zu bleiben?


Schritt 2:
4stellige Jahreszahlen mit <Leerzeichen><Bindestrich><Leerzeichen><4stellige Jahreszahl><Leerzeichen> ersetzen.

Beispiel aus dem Script:

Code: Alles auswählen

   new_dirname=$(echo "$new_dirname"  | sed -e 's/.2001/ - 2001 /g')
Beispiel source: datei 2001gilbfinger
Beispiel dest: datei - 2001<Leerzeichen>gilbfinger
Wenn während der Bearbeitung mehrere Leerzeichen innerhalb oder am Ende des Strings entstehen ist das nicht schlimm, die werden am Ende der Bearbeitung wieder entfernt (sind hier also für die Prozesskette sogar gewünscht).

Wichtig ist dabei der führende Punkt (erzeugt durch Schritt 1) bei der Suche um z.B. Telefonnummern nicht zu zerreisen. Als Jahreszahlen reicht z.B. 1940-2099 (das Matching soll nicht zu groß sein, um nicht falche Strings zu erfassen). Ich kann mir durchaus vorstellen, per Regex mit irgendwie 19[4-9}[0-9] mit zwei einzelnen Zeilen für 1940-1999 und 2000-2099 die Jahreszahlen zu finden. Aber dann aus dem mittels Patern gefunden String diesen zu wiederholen stell ich mir kompliziert vor (auch wenn es vielleicht einfach ist). Dafür fehlt mir dann die Idee fürs passende Werkzeug (Boardmittel NAS + u.u. weitere Toolsammlungen wie Entware).

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von Meillo » 30.11.2022 20:04:23

Ich wuerde im ersten Schritt nicht mit Punkten ersetzen, sondern mit Leerzeichen, das kommt mir neutraler vor, ist nur meine Praeferenz.


Wenn du in einer RE einen Punkt matchen willst, dann musst du ihn escapen. Schau dir mal an, was hier passiert:

Code: Alles auswählen

$  echo foo2001bar | sed 's/.2001/ - 2001 /g'
fo - 2001 bar
Was du eigentlich meinst ist:

Code: Alles auswählen

sed 's/\.2001/ - 2001 /g'

Die Jahreszahl aufzusammeln und wieder einzusetzen ist einfach:

Code: Alles auswählen

sed 's/\.\(20[0-9][0-9]\)/ - \1 /g'
(Mit escapeten runden Klammern kann man etwas einfangen und mit \1 \2 bis \9 kann man die Klammerhinhalte wieder einfuegen.)


Wenn du entweder Punkt oder Leerzeichen matchen willst, dann kannst du das mit einer Zeichenklasse (eckige Klammern) machen. So beispielsweise ersetzt man mit einem Ausdruck sowohl Punkte als auch Leerzeichen durch Unterstriche:

Code: Alles auswählen

sed 's/[. ]/_/g'
(Innerhalb einer Zeichenklasse musst du den Punkt nicht escapen, ausserhalb aber schon.)
Use ed once in a while!

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von rannseier » 08.12.2022 16:11:39

Gut, dann haben wir das mit den Jahreszahle schon mal deutlich besser gelöst.

Nun zu den zu ersetzenden Strings:
Ich generiere dazu eine (große) Textdatei.
Leerzeilen sollen ignoriert werden, Zeichenketten (also Fehler) unter 3 Zeichen (0, 1, 2 Zeichen) pro Zeile ebenfalls.

Wie kann ich das am besten durch sed jagen? Zuerst in ein Array einlesen, oder wie macht man das?

tobo
Beiträge: 1964
Registriert: 10.12.2008 10:51:41

Re: Bestimmte Zeichen am Ende eines Strings löschen

Beitrag von tobo » 08.12.2022 19:06:23

Das würde ich wohl eher gar nicht mit sed machen. Eine Shell-Lösung:

Code: Alles auswählen

while IFS= read -r pattern; do FILENAME="${FILENAME//$pattern/XXX}";done <PATTERNLIST; echo "$FILENAME"
PATTERNLIST steht dabei für deine Datei mit den gesammelten Ersetzungen und für XXX musst du das einsetzen, was da gerade aktuell ist (Punkt, Leerzeichen oder was auch immer).
Die Schleife liest pro Lauf einen Ersetzungsausdruck ein (pattern) und ersetzt in der Variable mit dem Dateinamen (FILENAME) alle Vorkommen davon. Am Ende wird die Variable des Dateinamens ausgegeben.

Antworten