1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Umlaute bei Ausgabeumleitung in eine Datei

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von KayHH, 06.03.10.

  1. KayHH

    KayHH Cripps Pink

    Dabei seit:
    02.03.10
    Beiträge:
    151
    Moin Moin,

    um feststellen zu können auf welcher externen Festplatte sich eine bestimmte Datei befindet, würde ich gern eine Liste aller Dateien auf den externen Festplatten erstellen. Mit TextWrangler funktioniert das auch tadellos. Nun würde ich das aber gern mit Bordmitteln erreichen.

    Ich gehe davon aus, das ich auf der Platte eine Datei habe die „Ökobilanz.txt“ heißt. Wenn ich nun per „ls“ nachschaue, wird mir auch „Ökobilanz.txt“ angezeigt. Wenn ich dann „ls >hd1-files.txt“ ausführe und dann per TextEdit in „hd1-files.txt“ hineinschaue, steht dort aber „OÃàkobilanz.txt“ drin. Es gibt also ein Problem mit den Umlauten/Sonderzeichen. Das ist doof, da Spotlight diesen Dateinamen dann nicht finden kann. Wenn ich mir die Datei mit „cat hd1-files.txt“ anschaue ist alles in Ordnung, ich erhalte als Ausgabe „Ökobilanz.txt“, das gleiche z.B. auch mit „less hd1-files.txt“.

    Ich habe nun schon mit den Kodierungen für das Terminal rumgespielt, aber keine hat zum richtigen Ergebnis geführt. Für „ls“ gibt es auch ein paar Optionen bezüglich Kodierungen aber es sieht so aus, als würde die alle brechen, sobald ich den Output in eine Datei umleite.

    Wäre schön, wenn da jemand einen Tipp hätte. Kann auch ruhig was komplexeres z.B. mit awk, sed oder so sein.



    KayHH
     
  2. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    die Dateien sollten UTF-8 encodiert sein - TextEdit jedoch interpretiert diese Daten als Mac Roman.
    Spotlight hat damit in der Regel keine Probleme.
    Für die Konvertierung gibt es iconv oder textutil.
     
  3. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.893
    A wa.
    Öffnen als UTF-8 -> Fertig.
     
  4. KayHH

    KayHH Cripps Pink

    Dabei seit:
    02.03.10
    Beiträge:
    151
    Okay, ich hab' mit der Kodierung im Terminal rumgespielt und das hat zu nichts geführt.

    Wenn ich TextEdit von automatische Erkennung auf UTF-8 umstelle (was ich nicht so schön finde), zeigt TextEdit zwar „Ökobilanz.txt“ an, aber das nützt mir nichts, da Spotlight das nicht findet. Ziel ist es, dass ich den Namen einer gesuchten Datei in Spotlight eingebe und ich die Info bekomme, das sich dieser Name in Datei xy (Dateiname [mit der Liste der Dateien drin] = Plattenname) befindet. Dann kann ich die Platte anstöpseln und die gesuchte Datei laden.

    „iconv -f MACROMAN -t UTF-8 hd1-files.txt >hd1-files.iconv.txt“ bringt auch nicht das gewünschte Ergebnis. In TextEdit findet sich nun weder mit Öffnen „Automatisch“ noch „UTF-8“ das richtige. Spotlight findet auch nichts.


    KayHH
     
    #4 KayHH, 06.03.10
    Zuletzt bearbeitet: 06.03.10
  5. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.469
    Dein Problem hat wohl weniger mit der Codierung zu tun, als mit der Indexierung der Datei. Das scheint nämlich nicht (sofort?!) zu passieren. Mach doch mal folgenden Test. Öffne die Datei mit TextEdit und speichere sie einfach ohne Änderungen noch einmal ab. Ich wette, dann findet Spotlight auch die "Ökobilanz".

    MacApple
     
  6. KayHH

    KayHH Cripps Pink

    Dabei seit:
    02.03.10
    Beiträge:
    151
    Moin MacApple,

    habe die Datei editiert und ein Wort, das es ansonsten auf dem Rechner nicht gibt ergänzt. Spotlight findet die Datei (trotz Umlaut) sofort. „Ökobilanz“ wird weiterhin nicht gefunden obwohl der Dateiinhalt offensichtlich gerade erst indexiert wurde.



    KayHH
     
  7. CloneOfMyself

    CloneOfMyself Weigelts Zinszahler (Rotfranch)

    Dabei seit:
    24.02.07
    Beiträge:
    253
    hängt's vielleicht mit fehlendem BOM zusammen?
    Code:
    printf "\xEF\xBB\xBF" > /pfad/zur/datei.txt
    und dann weiteren inhalt dranhängen
     
    #7 CloneOfMyself, 09.03.10
    Zuletzt bearbeitet: 09.03.10
  8. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.893
    BOMs sind nicht nur überflüssig, sondern störend.
    Was die Datei braucht, ist ein von TextEdit erstelltes "Extended Attribute", welches die Textkodierung auch für Spotlight ausweist. Dazu genügt es, die Datei (muss hierzu das Suffix *.txt tragen) in TextEdit als UTF-8 neu zu speichern.

    Alternativ kann dieses EA auch im Terminal angefügt werden:
    Code:
    xattr -w  com.apple.TextEncoding  'UTF-8;134217984'  [I]Textfile.txt[/I]
    (Diese seltsam anmutende Zahl ist die Dezimaldarstellung der Carbon-internen Flags, die die exakten Details zum verwendeten Encoding festhalten, zB ByteOrder, Unicode-Version, Composed/Decomposed, mit oder ohne BOM usw... - wers ganz genau wissen will, wirft dazu einen Blick in:
    /Developer/SDKs/MacOSX10.${LATEST}.sdk/\
    System/Library/Frameworks/CoreServices.framework/\
    Frameworks/CarbonCore.framework/Headers/TextCommon.h
    )

    Wurde die Datei bereits zuvor mit falschem Encoding indiziert, so ist dieser Vorgang danach erneut anzustossen:
    Code:
    mdimport [I]Textfile.txt[/I]
     
  9. CloneOfMyself

    CloneOfMyself Weigelts Zinszahler (Rotfranch)

    Dabei seit:
    24.02.07
    Beiträge:
    253
    ... sehr interessant! Da bedanke ich mich doch gleich mit für die Aufklärung. Hat sich's heute ja wieder gelohnt aufzustehen... :-D
     
  10. KayHH

    KayHH Cripps Pink

    Dabei seit:
    02.03.10
    Beiträge:
    151
    Moin Rastafari,

    das mit Abspeichern als UTF-8 funktioniert leider nicht (s.o.), aber der Tipp mit den „xattr“ war Gold wert. Das lässt sich dann per kleinem bash-Script auch noch brauchbar automatisieren. Ein Anstoßen von Spotlight scheint übrigens nicht nötig. Die Datei mit dem Wort „Ökobilanz“ wurde auch so sofort gefunden und auch ein QuickLook zeigt das Wort nun richtig an.



    KayHH
     
  11. CloneOfMyself

    CloneOfMyself Weigelts Zinszahler (Rotfranch)

    Dabei seit:
    24.02.07
    Beiträge:
    253
    vielleicht eine alternative? so sollte es doch auch gehen, oder?:

    Code:
    printf "\xEF\xBB\xBF" > liste.txt;ls | iconv -f UTF-8-MAC -t UTF-8 >> liste.txt
     
  12. KayHH

    KayHH Cripps Pink

    Dabei seit:
    02.03.10
    Beiträge:
    151
    Moin CloneOfMyself,

    nö, obiger Code funktioniert nicht, aber ich habe ja nun auch schon eine funktionierende Lösung. Trotzdem Danke für Deine Bemühungen.



    KayHH
     
  13. macrobert

    macrobert Erdapfel

    Dabei seit:
    21.01.13
    Beiträge:
    1
    Lieber Rastafari und alle anderen Apfeltalker,
    kann mir das bitte nochmals jemand erklären,
    wie ich spotlight dazu bewege, Umlaute in Dateinamen und in Spotlightkommentaren zu finden?
    Das wäre super - vielen Dank !
    Mac OsX 10.6.8, MacBook Pro
     
  14. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.893
    Einfach als Umlaute ins Suchfeld eingeben?
    Spotlight-Kommentare gibst du im Finder ein, und der macht das schon richtig so, dass sie auch gefunden werden.
    Bei Dateiinhalten, die mit brauchbarer Software erstellt wurden (deren Kodierung korrekt vermerkt ist), klappt das auch.
    Also - was sind das für Dateien, wo das nicht klappen soll?
     

Diese Seite empfehlen