KvFG Wiki

Karl-von-Frisch-Gymnasium Dußlingen

Benutzer-Werkzeuge

Webseiten-Werkzeuge


sonstiges:archiv:lpic:misc:bashprog:jh_umbenennen

<sxh bash; first-line: 1> #!/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

# Ueberpruefung der Installation von convmv inst=`ls /usr/bin/ | grep -c „convmv“` ; case $inst in 0) echo „Warnung: /usr/bin/convmv wurde nicht gefunden. Moechten sie convmv jetzt installieren (j/n)“ read SURE case $SURE in

 j | ja | y | yes) 
 dist=$(cat /etc/issue)
 cvar=`echo $dist | grep -ci "Ubuntu"`
 case $cvar in  
    1) sudo apt-get install convmv;; 
    0) dvar=`echo $dist | grep -ci "opensuse"`
       case $dvar in 
       1) sudo zypper install convmv;;
       0) evar=`echo $dist | grep -ci "Debian"`
          case $evar in 
          1) sudo dpkg -i convmv.deb;;
 	        0) fvar=`echo $dist | grep -ci "Fedora"`
             case $fvar in 
             1) sudo zypper install convmv;;
 	           0) echo "Distribution konnte nicht ermittelt werden. Bitte installieren Sie convmv selbsständig und starten Sie das Skript neu.";; 
  	       esac ;;
          esac ;;
       esac ;;
    esac ;;
 n | nein | no) exit;;
 esac ;;

esac

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:] | iconv -t ascii)

# 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

</sxh>

Unsere Webseite verwendet nur Cookies, die technisch notwendig sind und keine Informationen an Dritte weitergeben. Für diese Cookies ist keine Einwilligung erforderlich. Weitere Informationen finden Sie in unserer Datenschutzerklärung: Weitere Information
sonstiges/archiv/lpic/misc/bashprog/jh_umbenennen.txt · Zuletzt geändert: 2020/08/27 10:55 von d.weller