EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

convmv - Online in der Cloud

Führen Sie convmv im kostenlosen OnWorks-Hosting-Anbieter über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl convmv, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


convmv - konvertiert Dateinamen von einer Codierung in eine andere

ZUSAMMENFASSUNG


Konv [Optionen] DATEI(N) ... VERZEICHNIS(E)

OPTIONAL


-f CODIERUNG
Geben Sie die aktuelle Kodierung der Dateinamen an, von denen konvertiert werden soll

-t CODIERUNG
Geben Sie die Kodierung an, in die die Dateinamen konvertiert werden sollen

-i interaktiver Modus (fragen Sie J/N für jede Aktion)

-r Verzeichnisse rekursiv durchgehen

--nfc
Zieldateien sind Normalisierungsform C für UTF-8 (Linux etc.)

--nfd
Zieldateien werden die Normalisierungsform D für UTF-8 (OS X usw.) sein.

--qvon , --qto
Seien Sie leiser über das "von" oder "bis" einer Umbenennung (wenn es Ihr Terminal vermasselt)
z.B). Dies wird in der Tat nichts anderes tun, als alle Nicht-ASCII-Zeichen zu ersetzen
(byteweise) mit ? und jedes Steuerzeichen mit * auf dem Ausdruck, dies hat keinen Einfluss
Vorgang selbst umbenennen.

--exec Befehl
den gegebenen Befehl ausführen. Sie müssen den Befehl zitieren und #1 wird durch ersetzt
das alte, #2 durch den neuen Dateinamen. Bei Verwendung dieser Option bleiben Linkziele unberührt.

Beispiel:

convmv -f latin1 -t utf-8 -r --exec "echo #1 sollte in #2 umbenannt werden" Pfad/zu/Dateien

--aufführen
listet alle verfügbaren Kodierungen auf. Um Unterstützung für weitere chinesische oder japanische Kodierungen zu erhalten
Installieren Sie die Perl HanExtra- oder JIS2K-Encode-Pakete.

--lowmem
Halten Sie den Speicherbedarf gering, indem Sie keinen Hash aller Dateien erstellen. Dies deaktiviert die Überprüfung
wenn sich Symlink-Ziele im Unterbaum befinden. Symlink-Zielzeiger werden konvertiert
unabhängig davon. Wenn Sie mehrere Hunderttausend oder Millionen von Dateien konvertieren, wird der Speicher
Die Nutzung von convmv könnte ziemlich hoch werden. Diese Option würde Ihnen in diesem Fall weiterhelfen.

--nosmart
standardmäßig erkennt convmv, ob ein Dateiname bereits UTF8-codiert ist und überspringt dies
Datei, wenn eine Konvertierung von einem Zeichensatz in UTF8 durchgeführt werden soll. "--nosmart" wird
erzwingen Sie auch die Konvertierung in UTF-8 für solche Dateien, was zu "doppelter Kodierung" führen kann
UTF-8" (siehe Abschnitt unten).

--fixdouble
Mit der Option "--fixdouble" konvertiert convmv nur Dateien, die noch gespeichert werden
UTF-8-kodiert nach der Konvertierung. Das ist nützlich, um doppelt codierte UTF-8-Dateien zu reparieren.
Alle Dateien, die nicht UTF-8 sind oder nach der Konvertierung nicht zu UTF-8 führen, werden nicht
berührt. Siehe auch Kapitel "Doppeltes UTF-8 rückgängig machen ..." weiter unten.

--notiz
Benötigt, um die Dateien tatsächlich umzubenennen. Standardmäßig druckt convmv nur, was es will
zu tun.

--parsierbar
Dies ist eine erweiterte Option, die Leute finden werden, die ein GUI-Frontend schreiben möchten
nützlich (einige andere vielleicht auch). Es wird convmv ausdrucken, was es in einem tun würde
einfache parsierbare Weise. Die erste Spalte enthält die Aktion oder eine Art von Informationen,
die zweite Spalte enthält meist die zu ändernde Datei und ggf.
die dritte Spalte enthält den geänderten Wert. Jede Spalte wird durch \0\n . getrennt
(Nullbyte Zeilenumbruch). Jede Zeile (eine Aktion) wird durch \0\0\n (Nullbyte Nullbyte
Neue Zeile).

--no-preserve-mtimes
Das Ändern von Dateinamen führt normalerweise dazu, dass die mtime des übergeordneten Verzeichnisses aktualisiert wird. Schon seit
Version 2 convmv setzt die mtime standardmäßig auf den alten Wert zurück. Wenn Ihr Dateisystem
unterstützt Auflösung im Sub-Sekunden-Bereich der Sub-Sekunden-Teil der atime und mtime geht verloren
da Perl das noch nicht unterstützt. Mit dieser Option können Sie deaktivieren die Erhaltung
der mtimes.

--ersetzen
falls die Datei, in die umbenannt werden soll, bereits existiert, wird sie überschrieben, wenn die
anderer Dateiinhalt ist gleich.

--unscape
Diese Option entfernt diese hässlichen % Hex-Sequenzen aus Dateinamen und verwandelt sie in
(hoffentlich) schönere 8-Bit-Zeichen. Nach --unescape möchten Sie vielleicht einen Zeichensatz erstellen
Wandlung. Diese Sequenzen wie %20 usw. werden manchmal beim Herunterladen über . erzeugt
http oder ftp.

--Oberer, höher , --untere
Dateinamen in Groß- oder Kleinbuchstaben umwandeln. Wenn die Datei nicht ASCII-codiert ist,
convmv erwartet die Eingabe eines Zeichensatzes über den Schalter -f.

--map=etwas-zusätzliches Mapping
Wenden Sie einige benutzerdefinierte Zeichenzuordnungen an, die derzeit unterstützt werden:

ntfs-sfm(-undo), ntfs-sfu(-undo) für das Mapping von illegalen ntfs-Zeichen für Linux
oder Macintosh cifs-Clients (siehe MS KB 117258 auch mapchars-Mount-Option von mount.cifs
unter Linux).

ntfs-pretty(-undo) für die Zuordnung von illegalen NTFS-Zeichen zu ziemlich legalen
Japanische Versionen davon.

Siehe die map_get_newname() Funktion, wie Sie bei Bedarf ganz einfach eigene Mappings hinzufügen können. Lass mich
wissen Sie, ob Sie denken, dass convmv hier eine nützliche Zuordnung fehlt.

--dotlessi
kümmere dich um das punktlose i/I-Problem. Eine kleingeschriebene Version von "I" wird auch punktlos sein
während eine Großbuchstabenversion von "i" ebenfalls gepunktet wird. Dies ist ein Problem für Türkisch
und Aserbaidschan.

Übrigens: Der hochgestellte Punkt des Buchstabens i wurde im Mittelalter an
den Buchstaben (in Manuskripten) von benachbarten vertikalen Strichen in solchen Buchstaben unterscheiden
als u, m und n. J ist eine Variante von i, die zu dieser Zeit und später entstanden ist
wurde ein eigener Brief.

--help
Drucken Sie eine kurze Zusammenfassung der verfügbaren Optionen

--dump-optionen
eine Liste aller verfügbaren Optionen drucken

BESCHREIBUNG


Konv soll helfen, einen einzelnen Dateinamen, einen Verzeichnisbaum und die enthaltenen
Dateien oder ein ganzes Dateisystem in eine andere Kodierung. Es konvertiert nur die Dateinamen, nicht
den Inhalt der Dateien. Eine Besonderheit von convmv ist, dass es sich auch um
symlinks, konvertiert auch den symlink-Zielzeiger, falls das symlink-Ziel gerade ist
auch umgewandelt.

All dies ist sehr praktisch, wenn man von alten 8-Bit-Locales auf UTF-8 umsteigen möchte
Lokale. Es ist auch möglich, Verzeichnisse in UTF-8 umzuwandeln, die bereits teilweise sind
UTF-8-kodiert. convmv kann erkennen, ob bestimmte Dateien UTF-8-kodiert sind und überspringen
sie standardmäßig. Um diese Smartness auszuschalten, verwenden Sie den Schalter "--nosmart".

Dateisystem Probleme
Fast alle POSIX-Dateisysteme kümmern sich nicht darum, wie Dateinamen kodiert werden, hier sind einige
Ausnahmen:

HFS + on OS X / Darwin

Linux und (die meisten?) andere Unix-ähnliche Betriebssysteme verwenden die sogenannte Normalisierungsform C
(NFC) für seine UTF-8-Codierung standardmäßig, erzwingen dies jedoch nicht. Darwin, die Basis der
Macintosh OS erzwingt die Normalisierungsform D (NFD), bei der einige Zeichen in a codiert sind
anders. Unter OS X ist es nicht möglich, NFC UTF-8-Dateinamen zu erstellen, da dies
auf Dateisystemebene verhindert. Auf HFS+ werden Dateinamen intern in UTF-16 gespeichert und wenn
zurück in UTF-8 konvertiert, damit das zugrunde liegende BSD-System handhabbar ist, wird NFD erstellt.
See http://developer.apple.com/qa/qa2001/qa1173.html für Fehler. Ich glaube, es war ein sehr
schlechte Idee und bricht viele Dinge unter OS X, die ein normales POSIX-konformes System erwarten.
Überall woanders kann convmv Dateien von NFC in NFD oder umgekehrt konvertieren
Interoperabilität mit solchen Systemen viel einfacher.

JFS

Wenn Leute JFS-Partitionen mit iocharset=utf8 mounten, gibt es ein ähnliches Problem, denn
JFS wurde entwickelt, um Dateinamen auch intern in UTF-16 zu speichern; das liegt daran, dass das JFS von Linux
ist in Wirklichkeit JFS2, das eine Neufassung von JFS für OS/2 war. JFS-Partitionen sollten immer
gemountet mit iocharset=iso8859-1, was auch der Standard bei den neueren 2.6.6-Kernels ist. Wenn
wird dies nicht gemacht, verhält sich JFS nicht wie ein POSIX-Dateisystem und es kann vorkommen, dass
bestimmte Dateien können überhaupt nicht erstellt werden, zum Beispiel Dateinamen in ISO-8859-1-Kodierung. Nur
Wenn eine Interoperation mit OS/2 erforderlich ist, sollte iocharset entsprechend Ihrem verwendeten eingestellt werden
Gebietsschema charmap.

NFS4

Trotz anderer POSIX-Dateisysteme schreibt RFC3530 (NFS 4) UTF-8 vor, sagt aber auch: "Die
Das Profil nfs4_cs_prep gibt keine Normalisierungsform an. Eine spätere Überarbeitung davon
Spezifikation kann eine bestimmte Normalisierungsform angeben." Mit anderen Worten, wenn Sie möchten
Wenn Sie NFS4 verwenden, finden Sie die Konvertierungs- und Normalisierungsfunktionen von convmv möglicherweise sehr nützlich.

FAT/VFAT und NTFS

NTFS und VFAT (für lange Dateinamen) verwenden intern UTF-16, um Dateinamen zu speichern. Du solltest
Sie müssen keine Dateinamen konvertieren, wenn Sie eines dieser Dateisysteme mounten. Verwenden Sie geeignete
Mount-Optionen statt!

Ultraschall zu rückgängig machen doppelt UTF-8 (oder andere) codiert Dateinamen
Manchmal kann es vorkommen, dass Sie bestimmte Dateinamen "doppelt kodieren", zum Beispiel die
Dateinamen waren bereits UTF-8-codiert und Sie haben versehentlich eine andere Konvertierung von einigen durchgeführt
Zeichensatz auf UTF-8. Sie können dies einfach rückgängig machen, indem Sie das umgekehrt umwandeln. Die
from-charset muss UTF-8 sein und der to-charset muss der from-charset sein, den Sie zuvor
versehentlich verwendet. Wenn Sie die Option "--fixdouble" verwenden, stellt convmv sicher, dass nur
Es werden Dateien verarbeitet, die nach der Konvertierung noch UTF-8-kodiert sind, und es wird
Lassen Sie Nicht-UTF-8-Dateien unberührt. Sie sollten überprüfen, um die richtigen Ergebnisse zu erhalten, indem Sie die
Konvertierung ohne "--notest" vorher, auch die Option "--qfrom" kann hilfreich sein, denn
die doppelten utf-8-Dateinamen könnten Ihr Terminal beschädigen, wenn sie gedruckt werden - sie
enthalten oft Steuersequenzen, die lustige Dinge mit Ihrem Terminalfenster machen. wenn du
sind sich nicht sicher, aus welchem ​​Zeichensatz versehentlich konvertiert wurde, die Verwendung von "--qfrom" ist a
eine gute Möglichkeit, die erforderliche Kodierung herauszufummeln, ohne die Dateinamen endgültig zu zerstören.

Ultraschall zu Knorpel zu reparieren, Samba Dateien
Wenn in der smb.conf (von Samba 2.x) kein korrekter "Zeichensatz" gesetzt wurde
variabel, Dateien, die von Win*-Clients erstellt werden, werden im Client-
Codepage, zB cp850 für westeuropäische Sprachen. Dadurch werden die Dateien, die
Nicht-ASCII-Zeichen enthalten, werden vermasselt, wenn Sie sie auf dem Unix-Server "lsen". wenn du
ändere die Variable "character set" danach auf iso8859-1, neu erstellte Dateien sind in Ordnung,
aber die alten Dateien sind immer noch in der Windows-Kodierung vermasselt. In diesem Fall kann convmv
auch verwendet werden, um die alten Samba-Shared-Dateien von cp850 nach iso8859-1 zu konvertieren.

Übrigens: Samba 3.x ordnet endlich standardmäßig UTF-8-Dateinamen zu, also auch bei der Migration
von Samba 2 zu Samba 3 müssen Sie möglicherweise Ihre Dateinamen konvertieren.

Netzgespräch Interoperabilität Probleme
Wenn Netatalk auf UTF-8 umgestellt wird, das in Version 2 unterstützt wird, ist dies NICHT
ausreichend, um die Dateinamen umzubenennen. Es muss mehr getan werden. Sehen
http://netatalk.sourceforge.net/2.0/htmldocs/upgrade.html#volumes-and-filenames und die
uniconv-Dienstprogramm von Netatalk für Details.

Verwenden Sie convmv online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad