Spotlight findet keine Umlaute in Dateien, die mit vi oder echo erstellt werden

F

FraktaleWelten

Aktives Mitglied
Thread Starter
Dabei seit
31.10.2009
Beiträge
128
Reaktionspunkte
12
Hallo,

ich habe ein wenig mit Spotlight experimentiert und hatte nach kurzer Zeit
den Eindruck, daß nicht alles gefunden wurde, insbesondere Umlaute nur
teilweise.

Dieser Eindruck wird durch diese Zeilen bestätigt, einfach die folgenden Zeilen in das Terminal kopieren:
Code:
echo "Apfel" > x0.txt
echo "Birne" > x1.txt
echo "apfel Birne" > x2.txt
echo "Granatäpfel-Auflauf" > x3.txt
echo "Äpfel Baum" > x4.txt
# geben wir dem Mac eine Chance, den Index zu aktualisierensleep 6
sleep 6
# Ist x4.txt indiziert? Erwartetes Ergebnis: x4.txt
mdfind -onlyin . 'kMDItemTextContent == "*Baum"'
# alle Dateien mit Apfel - Erwartetes Ergebnis: x0.txt
mdfind -onlyin . 'kMDItemTextContent == "Apfel"'
# alle Dateien mit [Aa]pfel,  - Erwartetes Ergebnis: x0.txt x2.txt
mdfind -onlyin . 'kMDItemTextContent == "Apfel"c'
# alle Dateien mit [ÄäAa]pfel,  - Erwartetes Ergebnis: x0.txt x2.txt x4.txt
mdfind -onlyin . 'kMDItemTextContent == "Apfel"cd'
# alle Dateien mit *[ÄäAa]pfel*,  - Erwartetes Ergebnis: x0.txt x2.txt x3.txt x4.txt
mdfind -onlyin . 'kMDItemTextContent == "Apfel"cdw'
Auf meinem Macbook pro mit dem Schneeleoparden sieht das Ergebnis so aus:
Code:
$ echo "Apfel" > x0.txt
$ echo "Birne" > x1.txt
$ echo "apfel Birne" > x2.txt
$ echo "GranatÄpfel-Auflauf" > x3.txt
$ echo "Äpfel Baum" > x4.txt
$ # geben wir dem Mac eine Chance, den Index zu aktualisieren
$ sleep 6
$ # Ist x4.txt indiziert? Erwartetes Ergebnis: x4.txt
$ mdfind -onlyin . 'kMDItemTextContent == "*Baum"'
/Users/ds/Documents/spotlighttest/xxx/x4.txt
$ # alle Dateien mit Apfel - Erwartetes Ergebnis: x0.txt
$ mdfind -onlyin . 'kMDItemTextContent == "Apfel"'
/Users/ds/Documents/spotlighttest/xxx/x0.txt
$ # alle Dateien mit [Aa]pfel,  - Erwartetes Ergebnis: x0.txt x2.txt
$ mdfind -onlyin . 'kMDItemTextContent == "Apfel"c'
/Users/ds/Documents/spotlighttest/xxx/x2.txt
/Users/ds/Documents/spotlighttest/xxx/x0.txt
$ # alle Dateien mit [ÄäAa]pfel,  - Erwartetes Ergebnis: x0.txt x2.txt x4.txt
$ mdfind -onlyin . 'kMDItemTextContent == "Apfel"cd'
/Users/ds/Documents/spotlighttest/xxx/x2.txt
/Users/ds/Documents/spotlighttest/xxx/x0.txt
$ # alle Dateien mit *[ÄäAa]pfel*,  - Erwartetes Ergebnis: x0.txt x2.txt x3.txt x4.txt
$ mdfind -onlyin . 'kMDItemTextContent == "Apfel"cdw'
/Users/ds/Documents/spotlighttest/xxx/x2.txt
/Users/ds/Documents/spotlighttest/xxx/x0.txt
D.h. die Umlaute in x3.txt und x4.txt werden nicht gefunden!

Im Terminal ist
LANG=de_DE.UTF-8
gesetzt.

Eine Suche mit Spotlight nach Äpfel findet die Dateien x3.txt und x4.txt ebenfalls nicht.

Weitere Untersuchungen ergaben:
  • Wenn die Dateien mit vi erzeugt werden, ist das Ergebnis dasselbe.
  • Wenn die Dateien mit Smultron erzeugt werden, dann werden die Dateien gefunden.

Der Unterschied war schnell gefunden: 'mdimport -d2 x4.txt' zeigte, daß die Smultron-erzeigt Datei
kMDItemTextContent = "\U00c4pfel Baum\n";
gesetzt hatte, während eine vi- oder echo-erzeugte Datei
kMDItemTextContent = "\U221a\U00d1pfel Baum\n";
gesetzt hat.

Mag jemand ausprobieren, ob sein Mac dasselbe Verhalten an den Tag legt?

Ich halte das für einen Fehler im Spotlight.

Fragt sich nur, wie oft der auftritt...
 
Zuletzt bearbeitet:
Ich hab hier was zu dem Thema geschrieben. Die Lösung habe ich aber leider auch nicht.
 
Zurück
Oben Unten