So ändern Sie die Zeichenkodierung in vielen Dateien?
Ich versuche dieses:
find . -exec iconv -f iso8859-2 -t utf-8 {} \;
aber die Ausgabe erfolgt auf den Bildschirm, nicht in der gleichen Datei. Wie es zu tun?
- siehe stackoverflow.com/questions/4544669/...
- Sie können auch die Datei mit "cat" - ich denke, Ihre Dateien problem ist nicht die Codierung! vielleicht ist deine Datei kann einige Farb-codes, so dass Sie nicht sehen können, die Standard-Datei.. bitte versuchen Sie, die "cat" - Befehl und schreiben wieder.. normal sehen oder nicht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Wird die Verwendung von temp-Dateien mit '.konvertiert' - suffix (Dateiendung) und dann verschieben in den ursprünglichen Namen, also seien Sie vorsichtig, wenn Sie Dateien mit '.konvertiert' - Suffixen (ich glaube nicht, dass Sie haben).
Auch dieses Skript ist nicht sicher für Dateinamen, die Leerzeichen enthalten, also für mehr Sicherheit sollten Sie in doppelte Anführungszeichen: "{}" statt {} und "{}.konvertiert" statt {}.umgewandelt
Lesen über enconv.
Wenn Sie brauchen, um zu konvertieren, um Ihre aktuelle terminal-encoding kann man das so machen, dass:
Oder genau das, was Sie wollte:
Fand ich diese Methode funktionierte gut für mich, vor allem, wo hatte ich mehrere Datei-Codierungen und mehrere Datei-Erweiterungen.
Erstellen Sie ein vim-Skript-Skript namens.vim:
Führen Sie dann das Skript auf die Datei-Erweiterungen Sie wünschen target:
Niemand vorgeschlagen, einen Weg, um automatisch zu erkennen, Codierung und recode.
Hier ist ein Beispiel zu recode UTF-8 alle HTM/HTML-Dateien aus dem master branch des GIT.
git ls-tree master -r --name-only | grep htm | xargs -n1 -I{} bash -c 'recode "$(file -b --mime-encoding {})..utf-8" {}'