Varför kan Spotlight inte söka i filer?

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1

Varför funkar det inte att söka efter innehåll i filer med spotlight?
Jag måste i princip alltid gå till terminalen och skriva "grep sökord ./ -r" för att hitta nåt.

Senast redigerat 2007-02-01 19:13

I dag till exempel hade jag ett antal textfiler med postfixet .tpl och .mod där jag villa veta vilka filer som innehöll en viss sträng. Katalogen låg i detta fall direkt på skrivbordet.
grep gav några hundra resultat och spotlight noll.

Aha, det förklarar ju saken. Hur vet man vilka filtyper spotlight klarar av?

  • Medlem
  • Munkedal
  • 2007-02-01 22:20
Ursprungligen av ptolemy:

Aha, det förklarar ju saken. Hur vet man vilka filtyper spotlight klarar av?

T ex genom att ladda ner PDF:en "Läs mer om tekniken bakom spotlight" . Den finns på höger sida i rutan "Tekniskt sammandrag"

Det är hyfsat enkelt att lägga till filtyper om man inte har något emot lite handpåläggning.

Ett exempel för att visa hur. För att lägga till perlfiler till Spotlight.
Öppna terminalen och skriv in kommandot och en exempelfil:

mdimport -n -d1 /Users/merovech/Documents/Perl/test.pl

Där du förstås byter ut sökvägen och filen till aktuell fil.
mdimport svarar med;

mdimport[000] Import '/Users/merovech/Documents/Perl/test.pl' type 'public.perl-script' no mdimporter

Där type står för vilken UTI filen har. Det är den som är intressant. Kopiera den, alltså public.perl-script.

Öppna inställningsfilen för textimporterar-plugginen i någon textredigerare. Den finns här:

/System/Library/Spotlight/RichText.mdimporter/Contents/Info.plist

Leta reda på raden med de olika innehållstyperna och lägg till den vi precis tog fram sist. Så här brukar den se ut:
<key>LSItemContentTypes</key>
<array>
<string>public.rtf</string>
<string>public.html</string>
<string>public.xml</string>
<string>public.plain-text</string>
<string>com.apple.traditional-mac-plain-text</string>
<string>com.apple.rtfd</string>
<string>com.apple.webarchive</string>

Och vi lägger alltså till:

<string>public.perl-script</string>

Så, nu behöver man bara indexera sina perlfiler så kommer de att dyka upp i Spotlight.

Om något är lite mer flink i fingrarna än jag så går det säkert att lägga till filtyperna i plist-filen genom ett defaults-kommando.

Ursprungligen av Merovech:

Det är hyfsat enkelt att lägga till filtyper om man inte har något emot lite handpåläggning.

Ett exempel för att visa hur. För att lägga till perlfiler till Spotlight.
Öppna terminalen och skriv in kommandot och en exempelfil:

mdimport -n -d1 /Users/merovech/Documents/Perl/test.pl

Där du förstås byter ut sökvägen och filen till aktuell fil.
mdimport svarar med;

mdimport[000] Import '/Users/merovech/Documents/Perl/test.pl' type 'public.perl-script' no mdimporter

Där type står för vilken UTI filen har. Det är den som är intressant. Kopiera den, alltså public.perl-script.

Öppna inställningsfilen för textimporterar-plugginen i någon textredigerare. Den finns här:

/System/Library/Spotlight/RichText.mdimporter/Contents/Info.plist

Leta reda på raden med de olika innehållstyperna och lägg till den vi precis tog fram sist. Så här brukar den se ut:
<key>LSItemContentTypes</key>
<array>
<string>public.rtf</string>
<string>public.html</string>
<string>public.xml</string>
<string>public.plain-text</string>
<string>com.apple.traditional-mac-plain-text</string>
<string>com.apple.rtfd</string>
<string>com.apple.webarchive</string>

Och vi lägger alltså till:

<string>public.perl-script</string>

Så, nu behöver man bara indexera sina perlfiler så kommer de att dyka upp i Spotlight.

Om något är lite mer flink i fingrarna än jag så går det säkert att lägga till filtyperna i plist-filen genom ett defaults-kommando.

De va ju ett fint tips, fast det funkade inte riktigt.
Försöker lägga till .aspx filer men har förstått det som att de inte är textfiler och därför inte kan hämtas av RichText.mdimporter.

Någon som vet hur?

1
Bevaka tråden