• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Umlaute bei Ausgabeumleitung in eine Datei

KayHH

Cripps Pink
Registriert
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
 

creative7even

Jerseymac
Registriert
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.
 

KayHH

Cripps Pink
Registriert
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
 
Zuletzt bearbeitet:

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
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.
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
 

KayHH

Cripps Pink
Registriert
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
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
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
 
Zuletzt bearbeitet:

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
hängt's vielleicht mit fehlendem BOM zusammen?
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]
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
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
 

KayHH

Cripps Pink
Registriert
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
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
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
 

KayHH

Cripps Pink
Registriert
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
 

macrobert

Erdapfel
Registriert
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
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
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?