Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Ersetzt Zeichen im Dateinamen rekursiv
- # Vorlage: http://www.linux-community.de/Community/Fragen/Bash-Rename-Skript
- # Aufruf des Skriptes auf Korrektheit pruefen
- if [ -z $1 ];then echo Verwendung: umbenennen "/PFAD" ; exit 0;fi
- # Meldung ungueltige Kodierung bearbeiten
- convmv -f iso-8859-15 -t utf8 -r "$1" --notest
- #
- # Skript Start
- #
- find "$1" -depth -name "*" | while read file ; do
- directory=$(dirname "$file")
- oldfilename=$(basename "$file")
- # sed und tr als Mittel der Bearbeitung
- # Befehle sind so aufgestellt, dass einzelne Aktionen
- # leicht durch Loeschen zwischen den Pipes
- # veraendert werden koennen
- newfilename=$(echo "$oldfilename" | tr "'" "_" | tr '!@#+ ' '_____' | tr '[]{}' '()()()' | sed -e 's/[\`\´\"\]//g' | sed -e 's/\&/and/g' | sed -e 's/[àáâãäå]/ae/g;s/[ÀÁÂÃÄÅ]/Ae/g;s/[éëêè]/e/g;s/[ÈÉÊË€]/E/g;s/[ìíîï]/i/g;s/[ÌÍÎÏ¡]/I/g;s/[òóôõöø]/oe/g;s/[ÒÓÔÕÖ]/Oe/g;s/[ùúûü]/ue/g;s/[ÙÚÛÜ]/Ue/g;s/[ÿý?]/y/g;s/[ÝŸ]/Y/g;s/[æ]/ae/g;s/[Æ]/AE/g;s/[碩]/c/g;s/[Ç]/C/g;s/[ßš]/s/g;s/[$§Š]/S/g;s/[=¦#:~*¿·¸°¯\%";+^˜‰…‡†???•]/_/g;s/[²]/2/g;s/[³]/3/g' | sed -e 's/[^\(\)\.\/\_a-zA-Z0-9-]//g' | tr [:upper:] [:lower:])
- # Katastrophenpotential einschraenken
- if [ "$oldfilename" != "$newfilename" ]; then
- # Umbenennen beginnen
- mv -i "$directory/$oldfilename" "$directory/$newfilename"
- # Benutzer informieren
- echo ""$directory/$oldfilename" ---> "$directory/$newfilename""
- #echo "$directory"
- #echo "$oldfilename"
- #echo "$newfilename"
- #echo
- fi
- done
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement