convmv ist ein kleines Komandozeilen-Programm um Dateinamen von einem Zeichensatz in einen anderen zu konvertieren. Ausserdem kann es sehr bequem Dateinamen in Groß- bzw. Kleinschreibung ändern.

Homepage: http://www.j3e.de/linux/convmv/

Dokumentation: http://www.j3e.de/linux/convmv/man/

Lizenz: GPL

Tipps & Tricks

Alle Dateinamen im aktuellen Verzeichnis und Unterverzeichnissen von ISO-8859-15 nach UTF-8 konvertieren:

convmv -f iso-8859-15 -t utf-8 -r .

Alle Dateinamen im aktuellen Verzeichnis rekursiv in upper case oder lower case (Groß/Kleinschreibung) ändern:

convmv --upper -r .
(resp. --lower für lowercase conversion)

Debian Woody

Unter Debian Woody fehlt die passende Perl-Version 5.8. Es kann jedoch darauf ausgewichen werden, die Dateien von einem anderen Rechner aus, via NFS umzubenennen. Alternativ dazu können die auf recode basierenden Scripte verwendet werden:

$ apt-get install recode

Es empfiehlt sich, die beiden folgenden Skripte in ein Verzeichnis des $PATH zu legen, z.B. nach /usr/local/bin

  • convert_all.sh

if [ "1ドル" = "" ]; then
 echo "Usage: 0ドル <folder>"
 exit 1;
fi

# sort reverse to move files before folders!
find "1ドル" -print | sort -r | awk '{printf "convert_one.sh \"%s\"\n", 0ドル;}' | sh
  • convert_one.sh

FOLDER=`dirname "$*"`
SOURCE=`basename "$*"`
TARGET=`echo -n "$SOURCE" | recode iso-8859-15..utf8`

if [ "$SOURCE" != "$TARGET" ]; then
 echo "FOLDER: $FOLDER"
 echo "CONVERT: $SOURCE"
 echo "INTO: $TARGET"
 mv -- "$FOLDER/$SOURCE" "$FOLDER/$TARGET"
fi

Anschliessend müssen diese Skripte noch ausführbar gemacht werden:

$ chmod +x convert_one.sh convert_all.sh

Mini-Howto

convmv (zuletzt geändert am 2007年12月23日 22:47:20 durch localhost)

AltStyle によって変換されたページ (->オリジナル) /