KvFG Wiki

Karl-von-Frisch-Gymnasium Dußlingen

Benutzer-Werkzeuge

Webseiten-Werkzeuge


sonstiges:archiv:lpic:misc:bashprog:dow_umbenennen

DOW: umbenennen

Die entscheidende Zeile 32, die die eigentliche Arbeit im Skript verrichtet, wurde farblich hervorgehoben!

<sxh bash; first-line: 1; highlight: [32]> #!/bin/bash # Ersetzt Zeichen im Dateinamen rekursiv # Vorlage: http://www.linux-community.de/Community/Fragen/Bash-Rename-Skript # Vorlage geschrieben von: Andi Latte # Lizenz nicht angegeben - vermutlich GPL # Ueberarbeitung: Dirk Weller # Aufruf des Skriptes auf Korrektheit pruefen

if [ -z $1 ];then echo Verwendung: umbenennen „/PFAD“ ; exit 0;fi

# Zuerst checken: conmv installiert? # Wenn ja: Meldung ungueltige Kodierung bearbeiten # Wenn nein: Abbruch if [ -f /usr/bin/convmv ]

then convmv -f iso-8859-15 -t utf8 -r "$1" --notest ;
else echo "Bitte zuerst convmv mit dem Paketmanager Ihres Linux installieren!" ; exit 1

fi

# # 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/[ßš]/ss/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/dow_umbenennen.txt · Zuletzt geändert: 2020/08/27 10:54 von d.weller