Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
skripting-section:bash:utf8-converter [2017/09/04 13:39] – created michael | skripting-section:bash:utf8-converter [2017/09/11 13:58] (current) – [Löschen der *.backup files] michael | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== ISO-8859 to UTF8 Converter ====== | ====== ISO-8859 to UTF8 Converter ====== | ||
Skript, welches vom mir erstellt wurde, um alte Bullnix Pages (Post-Wiki) automatisiert in das neue UTF-8 Fileformat zu konvertieren! //Dies ist besonders wichtig, weil ansonsten Sonderzeichen wie, " | Skript, welches vom mir erstellt wurde, um alte Bullnix Pages (Post-Wiki) automatisiert in das neue UTF-8 Fileformat zu konvertieren! //Dies ist besonders wichtig, weil ansonsten Sonderzeichen wie, " | ||
+ | |||
+ | <wrap em>Zu beachten: Das Skript, macht vor dem Konvertieren, | ||
===== Skript Sourcecode ===== | ===== Skript Sourcecode ===== | ||
Line 24: | Line 26: | ||
</ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Fix für nicht konvertierte Inhalte der Dateien ==== | ||
+ | |||
+ | |||
+ | Um zu überprüfen, | ||
+ | |||
+ | < | ||
+ | # find . -name " | ||
+ | |||
+ | Falls dieser Befehl nun Fehler ausgibt, kann folgendes Skript verwendet werden um diese zu korrigieren. | ||
+ | |||
+ | |||
+ | '' | ||
+ | |||
+ | <sxh bash; first-line: 1> | ||
+ | #!/bin/bash | ||
+ | |||
+ | cd / | ||
+ | |||
+ | for file_to_fix in $( find . -name " | ||
+ | |||
+ | #Detect ISO encodings in files via hexdump: | ||
+ | cat " | ||
+ | if [ $? -eq 0 ]; then | ||
+ | |||
+ | echo " | ||
+ | iconv -f ISO-8859-15 -t UTF-8 " | ||
+ | |||
+ | sed -ri ' | ||
+ | sed -ri ' | ||
+ | sed -ri ' | ||
+ | |||
+ | sed -ri ' | ||
+ | sed -ri ' | ||
+ | sed -ri ' | ||
+ | |||
+ | sed -ri ' | ||
+ | sed -ri ' | ||
+ | |||
+ | sed -ri ' | ||
+ | sed -ri ' | ||
+ | sed -ri ' | ||
+ | |||
+ | sed -ri ' | ||
+ | sed -ri ' | ||
+ | |||
+ | #iconv -f ISO-8859-15 -t UTF-8 $file_to_fix > temp_Convert.txt; | ||
+ | fi; | ||
+ | done | ||
+ | |||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Unix Filenamen Korrektur ==== | ||
+ | |||
+ | <wrap hi> | ||
+ | |||
+ | Bei wenigen Dateien kann diese Umbenennung von Hand erfolgen. Was aber, wenn sehr viele Dateinamen zu korrigieren sind? Auch hier ist bereits ein geeignetes Linux-Utility vorhanden: ****convmv****. Mit dem Befehl | ||
+ | |||
+ | |||
+ | < | ||
+ | # convmv -f iso-8859-15 -t utf-8 --notest -r / | ||
+ | </ | ||
+ | |||
+ | |||
+ | werden im angegeben Verzeichnis die '' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Löschen der *.backup files ==== | ||
+ | |||
+ | <wrap em> | ||
+ | |||
+ | < | ||
+ | # find . -name " |