Hallo zusammen,
da ich zwangsweise noch Windows verwenden muß, das ich über VirtualBox starte, synchronisiere ich auch regelmäsig wichtige Daten.
Dabei werden bei Textdateien und ein paar anderen, Selbstlaute (äöüß) anschließend nicht angezeigt und behebe dies anschließend mit iconv.
Nun habe ich mir überlegt, ob es nicht möglich ist, dies zu automatisieren und evtl. auch automatisch der richtige Zeichensatz dafür ausgewäht wird.
Ich habe hier //wiki.ubuntuusers.de/Skripte/Zeichensatzkonvertierung#Bash: mal ein Script gefunden, das in diese Richtung gehen sollte, aber irgendwie bei mir nicht funktioniert.
Da mit iconv nur Dateien verarbeitet, die vorher iconv bekannt gegeben werden und die zu konvertierenden Dateien in der Regel in verschiedenen Ordner liegen, habe ich mir überlegt, ob man nicht mit einem Script das automatisieren könnte.
Hier mein Script
#!/bin/bash # # Sucht alle Ordner nach Dateien durch. Such=$(find /home/user/1/* -type f) # Sucht alle Ordner nach Dateien durch und erstellt eine Datei "such", in der die Dateien aufgelistet werden.. find /home/user/1/* -type f -print > /home/whtb/1/such TD="/home/user/1/such" # Dateinamen werden an $TDFILE übergeben. TDFILE=$(cat ${TD} | while read; do ARRAY_NAME=($REPLY) echo $(basename ${ARRAY_NAME}) done ) # Pfade werden an $TDDIR übergeben. TDDIR=$(cat ${TD} | while read; do ARRAY_NAME=($REPLY) echo $(dirname ${ARRAY_NAME}) done ) # Visuelle Ausgabe im Terminal. echo $Such echo $TDFILE echo $TDDIR # Übergeben der Pfade an $PFAD, in den Dateien enthalten sind. if [ "$Such" = "*/$TDFILE" ];then PFAD=$(dirname "$Such") echo $Such fi # Überprüfung der Dateien, ob in einen anderen Zeichensatz konvertiert werden muß und von welchem Zeichensatz aus konvertiert wird. # Funktioniert noch nicht, noch in Bearbeitung. for env in $( iconv -l | sed 's/..$//' ) do iconv -f $env -t utf-8 $TDFILE 2>/dev/null | grep "$TDFILE" && echo $env; done
Bis auf den letzten, wichtigen Abschnitt des Scriptes funktioniert es so weit.
Leider bin ich kein Profi im Script schreiben und hoffe daher auf Eure Hilfe und Mitwirkung!
Danke im voraus.
Grüße Nobuddy