|
||
Startseite
User-Bereich |
FAQ's und Hints Wie ersetze ich Leerzeichen mit Unterstrich in Dateinamen?
Mit folgenden Skripten lassen sich Leerzeichen in Dateinamen durch Unterstriche ersetzen:
'rename.sh' fuehrt die eigentliche Umbenennung durch. 'rename_found.sh' sucht im aktuellen
Verzeichnis nach Dateinamen mit Unterstrichen und setzt das 'rename.sh'-skript auf diese an.
Falls die Skripte in einem anderen Verzeichnis als '/usr/local/bin' gespeichert werden,
muessen natuerlich die Pfade entsprechend angepasst werden.
#!/bin/bash
# /usr/local/bin/rename.sh
# ersetzt Leerzeichen durch Unterstriche
# $1 ist der uebergebene Dateiname (evtl. mit Pfad)
#
# ueberprueft, ob ein Argument uebergeben wird
if [ $# -ne 1 ]
then
echo "Usage: $0 dateiname"
exit 1
fi
# Speichert den uebergebenen Dateinamen in input
input=$1
# extrahiert den Pfad (falls vorhanden)
directory=`dirname "$input"`
# extrahiert den Dateinamen (falls Pfad vorhanden)
# entfernt Leerzeichen und ersetzt sie durch einen Unterstrich
# speichert das Resultat in filename
filename=`basename "$input" | tr ' ' '_'`
# fuehrt die Umbenennung mit dem move befehl durch
mv -i "$input" "${directory}/${filename}"
#!/bin/bash
# /usr/local/bin/rename_found.sh
# sucht nach Leerzeichen in Dateinamen (im aktuellen Verzeichnis und darunterliegende)
# und ersetzt diese durch Unterstriche
#
# sucht im aktuellen Verzeichnis (.) nach Dateinamen (-type f) mit Leerzeichen
# uebergibt gefundene an das 'rename.sh' skript
find . -type f -name '* *' -exec /usr/local/bin/rename.sh '{}' \;
|
Nächster Stammtisch
News |