Как искать документы LaTeX в Spotlight?

Я воспроизвел проблему сейчас также в El Capitan с новыми компонентами (материнская плата, 3x SSD) в моем Macbook Air 2013-mid. У меня была чистая установка OS X (El Capitan, Yosemite) во время теста. Последняя версия OS X, в которой работает поиск .tex, — 10.8.5 в Spotlight. Я не вижу никаких документов .tex в моем поиске Spotlight в данный момент. Тесты

  • Ни один текущий ответ не решает проблему навсегда. В Yosemite проблема вернулась через некоторое время с некоторыми ответами. Стабильного решения не существует, и мало кто понимает, в чем причина проблемы.

Выбор конфигураций настроек не имеет значения в Spotlight, потому что мы можем напрямую использовать команду mdfindв терминале, что эквивалентно Spotlight. Тем не менее, мы пробовали настройки по умолчанию, минимальные и полные настройки в Spotlight. Для тестов мы используем настройки по умолчанию в OS X. Система и приложения

  • Системы OS X Yosemite, OS X El Capitan
  • TexShop.app установлен. (MacTeX 2015, mactex-20150613.pkg).
  • Приложение Tex: TextMate2-beta8
  • Spotlight/Finder/любое приложение для поиска не работает с файлами TeX и MacTeX 2015
  • Spotlight работает, как и ожидалось, с некоторыми другими настройками, а также с MacTeX 2015.

Команда mdfind(версия от 10 июня 2004 г.) эквивалентна поиску Spotlight, поэтому простой тест, который ничего не возвращает в моей системе

mdfind sulfas | grep tex

Думаю проблема в том, что система не распознает формат файла .tex`. Первое, что нужно сделать, это заставить систему распознать его.

Предложение tjt263 искать только .tex в Finder/Spotlight

Вывод Spotlight .texили команда терминала правильно дает tex -файлы в моей системе. Однако объединение его с другими терминами, такими как by .tex diabetes, больше не дает tex -файлов. Импортеры получены mdimport -L:

2015-09-22 15:31:42.352 mdimport[8163:707] Paths: id(502) (
    "/Library/Spotlight/iBooksAuthor.mdimporter",
    "/Library/Spotlight/iWork.mdimporter",
    "/Library/Spotlight/Microsoft Office.mdimporter",
    "/System/Library/Spotlight/Application.mdimporter",
    "/System/Library/Spotlight/Archives.mdimporter",
    "/System/Library/Spotlight/Audio.mdimporter",
    "/System/Library/Spotlight/Automator.mdimporter",
    "/System/Library/Spotlight/Bookmarks.mdimporter",
    "/System/Library/Spotlight/Chat.mdimporter",
    "/System/Library/Spotlight/CoreMedia.mdimporter",
    "/System/Library/Spotlight/Font.mdimporter",
    "/System/Library/Spotlight/iCal.mdimporter",
    "/System/Library/Spotlight/Image.mdimporter",
    "/System/Library/Spotlight/iPhoto.mdimporter",
    "/System/Library/Spotlight/iPhoto8.mdimporter",
    "/System/Library/Spotlight/Mail.mdimporter",
    "/System/Library/Spotlight/MIDI.mdimporter",
    "/System/Library/Spotlight/Notes.mdimporter",
    "/System/Library/Spotlight/PDF.mdimporter",
    "/System/Library/Spotlight/PS.mdimporter",
    "/System/Library/Spotlight/QuartzComposer.mdimporter",
    "/System/Library/Spotlight/RichText.mdimporter",
    "/System/Library/Spotlight/SystemPrefs.mdimporter",
    "/System/Library/Spotlight/vCard.mdimporter",
    "/Applications/Microsoft Office 2011/Microsoft Outlook.app/Contents/Library/Spotlight/Microsoft Outlook.mdimporter",
    "/Applications/Xcode.app/Contents/Library/Spotlight/uuid.mdimporter",
    "/Applications/DjView.app/Contents/Library/Spotlight/DjVu.mdimporter"
)

тесты bmikes

Файл notes.tex недоступен для поиска в Finder. Я меняю его на notes.txt, который теперь я могу искать в Finder. Это говорит мне, что проблема не в программе поиска (Spotlight, md..., что бы вы ни использовали, как я много раз описывал в комментариях). Так текс -проблема в системе. Выводы одного и того же файла, но с двумя разными окончаниями. Вывод txt-файла:

15:42:23:Desktop:masi$ mdls 8.9.2015.txt 
kMDItemContentCreationDate     = 2015-09-22 13:38:31 +0000
kMDItemContentModificationDate = 2015-09-22 13:38:31 +0000
kMDItemContentType             = "public.plain-text"
kMDItemContentTypeTree         = (
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2015-09-22 13:39:22 +0000
kMDItemDisplayName             = "8.9.2015.txt"
kMDItemFSContentChangeDate     = 2015-09-22 13:38:31 +0000
kMDItemFSCreationDate          = 2015-09-22 13:38:31 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "8.9.2015.txt"
kMDItemFSNodeCount             = 62503
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 62503
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Plain Text Document"
kMDItemLogicalSize             = 62503
kMDItemPhysicalSize            = 65536

Вывод tex -файла:

15:42:27:Desktop:masi$ mdls 8.9.2015.tex 
kMDItemContentCreationDate     = 2015-09-22 13:38:31 +0000
kMDItemContentModificationDate = 2015-09-22 13:38:31 +0000
kMDItemContentType             = "org.tug.tex"
kMDItemContentTypeTree         = (
    "org.tug.tex",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2015-09-22 13:42:37 +0000
kMDItemDisplayName             = "8.9.2015.tex"
kMDItemFSContentChangeDate     = 2015-09-22 13:38:31 +0000
kMDItemFSCreationDate          = 2015-09-22 13:38:31 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "8.9.2015.tex"
kMDItemFSNodeCount             = 62503
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 62503
kMDItemFSTypeCode              = ""
kMDItemKind                    = "TeX document"
kMDItemLogicalSize             = 62503
kMDItemPhysicalSize            = 65536

Требуемые команды:

mkdir /Users/masi/Desktop/masi
18:07:56:~:masii$ cp /tmp/8.9.2015.tex /Users/masi/Desktop/masi/
18:08:09:~:masi$ cd /Users/masi/Desktop/masi/
18:08:16:masi:masi$ echo osteoporosis > test_file.txt
18:08:24:masi:masi$ mdfind osteoporosis |grep /Users/masi/Desktop/masi/
/Users/masi/Desktop/masi/test_file.txt
18:08:47:masi:masi$ mdls -name kMDItemContentType test_file.txt 
kdItemContentType = (public.plain-text)
18:09:49:masi:masi$ mv test_file.txt test_file.tex
18:10:14:masi:masi$ mdfind osteoporosis | grep /Users/masi/Desktop/masi/
18:10:20:masi:masi$ mdls -name kMDItemContentType test_file.tex 
kMDItemContentType = "org.tug.tex"

Текущие средства диагностики Использование и обсуждение в чате

Хорошо скрытая команда Можно ли запросить базу данных служб запуска для приложений, которые откроют произвольный файл или тип UTI?

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -n7 org.tug.tex

Мы обнаружили, что TeXShop MacTeX 2015 не имеет TeX.mdimporter. Установка этого дает в последней строке mdimport -L:

"/Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter" )

Неудачная попытка с Патрикс

mkdir -p ~/Library/Spotlight; ln -s /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter ~/Library/Spotlight/

после чего rm ~/Library/Spotlight/TeX.mdimporterмы сбросили индекс Spotlight, переместив HardDisc на панель Prevent и быстро удалив его, поэтому теперь требуется некоторое время для индексации системы.

результаты ответов klanomath, которые работали один день, пока не вернулись в плохое состояние

У меня нестабильно получаются некоторые файлы .tex в mdfind. После одного дня использования от начала этого предложения состояние вернулось к плохому состоянию:

  • поиск по остеопорозу возвращает те же файлы, что и день назад, но я заметил, что те файлы, которые не были видны в поиске, совпадают недавно и достаточно давно, когда в последний раз редактировались, в поиске не видны
  • показаны только недавно отредактированные файлы, а на самом деле иногда даже показаны файлы 3,5-месячной давности

Бегать 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texи получать

(Debug) Import: file:/Users/masi/Dropbox/Internal Diseases/24.9.2015.tex plugin:file://localhost/Library/Spotlight/TeX.mdimporter/ /Library/Spotlight/TeX.mdimporter
(Info) Import: edu.uo.texshop.tex 
(Debug) Import: Attributes for file /Users/masi/Dropbox/Internal Diseases/24.9.2015.tex: {
    ":MD:kMDExtendedImportDictionary" =     {
    };
    "_kMDItemFinderLabel" = 0;
    "com_apple_metadata_modtime" = 464803819;
    kMDItemContentCreationDate = "2015-09-23 19:57:11 +0000";
    kMDItemContentModificationDate = "2015-09-24 16:10:19 +0000";
    kMDItemContentType = "edu.uo.texshop.tex";
    kMDItemContentTypeTree =     (
        "edu.uo.texshop.tex",
        "public.text",
        "public.data",
        "public.item",
        "public.content",
        "public.plain-text",
        "org.tug.tex"
    );
    kMDItemDateAdded = "2015-09-23 19:57:11 +0000";
    kMDItemDisplayName =     {
        "" = "24.9.2015.tex";
    };
    kMDItemKind =     {
        "" = "TeX File";
        en = "TeX File";
        pt = "Documento TeX";
    };
    kMDItemLogicalSize = 18220;
    kMDItemPhysicalSize = 20480;
    kMDItemTextContent = "\...";
}
2015-09-24 18:25:50.335 mdimport[6875:707] Imported '/Users/masi/Dropbox/Internal Diseases/24.9.2015.tex' of type 'edu.uo.texshop.tex' with plugIn /Library/Spotlight/TeX.mdimporter.
2015-09-24 18:25:50.336 mdimport[6875:707] Attributes: {
    ":MD:kMDExtendedImportDictionary" =     {
    };
    "_kMDItemFinderLabel" = 0;
    "_kMDItemStaticInterestScore" = "0.5";
    "com_apple_metadata_modtime" = 464803819;
    kMDItemContentCreationDate = "2015-09-23 19:57:11 +0000";
    kMDItemContentModificationDate = "2015-09-24 16:10:19 +0000";
    kMDItemContentType = "edu.uo.texshop.tex";
    kMDItemContentTypeTree =     (
        "edu.uo.texshop.tex",
        "public.text",
        "public.data",
        "public.item",
        "public.content",
        "public.plain-text",
        "org.tug.tex"
    );
    kMDItemDateAdded = "2015-09-23 19:57:11 +0000";
    kMDItemDisplayName =     {
        "" = "24.9.2015.tex";
    };
    kMDItemKind =     {
        "" = "TeX File";
        en = "TeX File";
        pt = "Documento TeX";
    };
    kMDItemLogicalSize = 18220;
    kMDItemPhysicalSize = 20480;
    kMDItemTextContent = "\...";
}

Догадайтесь о происхождении проблемы: /Volumes/Disc/.Spotlight-V100/...

Я исследовал динамику памяти в разные моменты времени по fdupes -rd /Volumes/Disc2/, вот пример при индексации:

[1] /Users/masi/Dropbox/det2/plan.tex
[2] /Volumes/Disc2/.Spotlight-V100/Store-V2/440B4DE1-129F-46AB-9D58-14F473B0282A/Cache/0000/0000/0003/213630.txt
[3] /Volumes/Disc2/.Spotlight-V100/Store-V2/440B4DE1-129F-46AB-9D58-14F473B0282A/Cache/0000/0000/0003/213631.txt
[4] /Volumes/Disc2/.Spotlight-V100/Store-V2/440B4DE1-129F-46AB-9D58-14F473B0282A/Cache/0000/0000/0003/213633.txt
... [10] sometimes much more
---

где содержимое файла — две пустые строки. Вы видите много повторяющихся записей, созданных Spotlight для своего индекса. Индекс Spotlight имеет много дубликатов во многих точках своего функционирования. Я также изучал это поведение на разных носителях. Во время индексации и во время стабильного периода, когда выполняется индексация, создается много файлов-пустышек/дубликатов. Я думаю, что Apple плохо поработала над индексом, который использует Spotlight.


Как вы можете искать документы LaTeX с помощью mdfind/Spotlight/Finder?

Поскольку A) это хороший вопрос, поскольку он усложняется пересечением прожектора, типов файлов и базы данных служб запуска b) он требует много времени назад и вперед, я создал чат, чтобы обсудить проблему / повторить поиск и устранение неполадок. так что посты не становятся более грязными, чем нужно. chat.stackexchange.com/rooms/info/29405/…
Пожалуйста, не добавляйте ответы к тексту вопроса, вместо этого опубликуйте его как ответ ниже.
Здесь такие же проблемы. Кроме того, значки для документов .tex пустые (общие). Возможно, эти две проблемы связаны?
@ user11126 Пожалуйста, посмотрите принятый ответ. Apple уже много лет не проявляет никакой мотивации для решения проблемы. См. принятый ответ и его предложение без Spotlight. Терминальный подход работает намного лучше. - - Насчет второго - возможно у вас не установлен MacTex или у вас баг в конфигурации.

Ответы (7)

Вероятно, это результат редактора/программного обеспечения для TEX, которое вы используете, поскольку вам не нужен какой-либо импортер прожекторов для обработки простых текстовых файлов. (Таким образом, вы можете просто удалить пользовательский импортер вашего приложения или выбрать обновление/другой импортер).

Вместо того, чтобы гадать по делу - вот как определить, в чем заключается проблема. Редактор может изменить ** kMDItemContentType** на тот, который не проиндексирован, или у вас есть стороннее расширение Spotlight, которое дает сбой. Вот как я узнаю, что из этого (или что-то более неожиданное) происходит:

A) Индексирует ли Spotlight произвольный текстовый файл, когда вы меняете расширение с .txt на .tex?
Б) Сравните метаданные для файлов, чтобы узнать, что происходит, используяmdls


Чтобы проверить А, откройте редактор текста и вставьте в документ одно слово: остеопороз .

При необходимости преобразуйте документ в обычный текст (вероятно, это форматированный текст) — Shift + Command + T (или используйте меню форматирования — Сделать обычный текст) и сохраните его на рабочем столе как файл.txt — если в меню форматирования указано «Сделать форматированным». Текст затем не нажимайте клавиши и просто сохраните документ.

В этот момент прожектор должен сразу увидеть файл. Если нет, у вас проблема с прожектором, а не с файлом .tex. Это очень основная проблема, если ваш прожектор не работает, чтобы не индексировать текстовые файлы. Если это сработает, измените расширение .txt на .tex и перепроверьте Spotlight.


Для теста B — используйте mdlsкоманду, чтобы изучить различия метаданных между вашим файлом и файлом TextEdit, которые работают с Spotlight. Обратите особое внимание на следующие поля:

kMDItemContentType             = "public.plain-text"
kMDItemContentTypeTree         = (
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemKind                    = "Plain Text Document"

Изменение .txt на .tex приводит к изменению этого (поскольку у меня нет приложения, которое требует расширения файла .tex и сопоставляет его с классификацией служб запуска/прожектора и правильным kMDItemContentType/kMDItemKind, в отличие от общего и специального тип:

kMDItemContentType             = "dyn.ah62d4rv4ge81k3p2"
kMDItemContentTypeTree         = (
    "dyn.ah62d4rv4ge81k3p2",
    "public.data",
    "public.item"
)
kMDItemKind                    = "Document"

Вот краткий тест, который вы можете вырезать/вставить, если ваши терминальные навыки еще не развиты. Это удалит содержимое любых имен файлов test_file на вашем рабочем столе, поэтому сделайте резервную копию, если вы не уверены, прежде чем вставлять команды ниже:

cd ~/Desktop/
echo osteoporosis > test_file.txt
mdfind osteoporosis | grep Desktop
mdls  -name kMDItemContentType test_file.txt 
mv test_file.txt test_file.tex
mdfind osteoporosis | grep Desktop
mdls  -name kMDItemContentType test_file.tex 

Команды mdfindаналогичны использованию Spotlight, поэтому убедитесь, что поиск терминала соответствует поиску Spotlight в данный момент.

Как сноска, эти инструменты нужны только для диагностики степени поломки, а не для замены поиска в центре внимания в конце концов. Просто вы не можете диагностировать проблему с прожектором только с прожектором. Кроме того, вы можете захотеть просмотреть журнал консоли, пока выполняете шаги, на ~/Desktopслучай, если появятся отчеты о сбоях или другая диагностика в центре внимания, когда вы просматриваете подсистему.

Кроме того, все становится неприятным, если вы можете выполнять поиск в текстовом документе, но не в текстовом. В своем обновлении вы упомянули, что файлы .tex имеют тип «org.tug.tex» — вы можете изучить базу данных служб запуска, чтобы узнать, какие импортеры системных вещей отвечают за разбор этого файла и удалить их (или просто сделать обоснованное предположение и временно удалите приложения TEX, чтобы посмотреть, не «исправляет» ли оно временно прожектор).

lsregister -dump| grep -n7 org.tug.tex

Где lsregisterнаходится хорошо спрятанный инструмент в / System — см. эту ветку на SuperUser, чтобы прочитать о службах запуска: https://superuser.com/questions/323599/ и эту ветку здесь: Дублирование записей в меню «Открыть с помощью» в Finder даже после перестройки Launch Services для некоторых странных вещей, которые можно попробовать. Я вполне уверен, что смогу выяснить, что не так в вашей системе, примерно за 20 минут поиска, но записать все возможности доступным для вас способом и угадать некоторые ответы оказалось сложнее, чем я ожидал.

Я связался с разработчиком Textmate и хочу подтвердить это утверждение. Проблема теперь воспроизводится и в El Capitan.

Я попытался воспроизвести ваши проблемы с Spotlight на виртуальной машине с Mac OS X 10.8.

После установки MacTex-20150613 и обновления всех компонентов (>300), включая TexShop и LaTeXiT, у меня не было проблем с поиском контента в файлах *.tex.

После входа:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

Я "добился" потери возможности поиска содержимого в файлах *.tex.

Чтобы восстановить способность делать это, я сделал следующее:

  • Войдя в систему как администратор, я скопировал файл /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter в /Library/Spotlight/ с

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Подготовил переиндексацию моей системы, сначала перейдя в папку /.Spotlight-V100 (в строке меню Finder -> Перейти -> Перейти в папку... и введите /.Spotlight-V100) и переместив все файлы и папки в эту папку в мусорное ведро. Для этого необходимо ввести пароль администратора. Если вам не удается войти в папку, войдите в систему как пользователь root (возможно, вам придется сначала включить root с помощью /System/Library/CoreServices/Directory Utility.app) и удалить содержимое папки как пользователя root.
  • Перезагрузил Mac
  • Зашел под админом и очистил корзину. Переиндексация начнется автоматически.

Непрерывная проверка всей соответствующей информации, такой как атрибуты файлов или службы запуска в разных состояниях системы (с несколькими снимками ВМ) с использованием mdls , xattr и других инструментов, не выявила ничего интересного или подозрительного.


Я повторил все описанные выше шаги более тщательно на новой виртуальной машине и использовал mdimport -d3для проверки поведения Spotlight.

В ванильном Mac OS X файл .tex правильно импортируется с помощью импортера dyn.random:

host:~user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample.tex
(Debug) Import: file:/Users/user/Desktop/sample.tex plugin:(null) (null)
2015-09-23 20:20:42.359 mdimport[313:707] Imported '/Users/user/Desktop/sample.tex' of type 'dyn.ah62d4rv4ge81k3p2' with no plugIn. 

Контент (ключевые слова) был найден.

То же самое относится к Mac OS X после установки, но не запуска одного из Tex.apps, хотя импортер изменился на RichText.mdimporter:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample.tex
(Debug) Import: file:/Users/user/Desktop/sample.tex plugin:file://localhost/System/Library/Spotlight/RichText.mdimporter/ /System/Library/Spotlight/RichText.mdimporter
(Info) Import: public.tex 

После запуска Tex.app (в моем случае TeXShop) импортер использует TeX.mdimporter по умолчанию, находящийся в глубине пакета TeXShop:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample.tex
(Debug) Import: file:/Users/user/Desktop/sample.tex plugin:file://localhost/Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter/ /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter
(Info) Import: edu.uo.texshop.tex 

После обновления MacTex-20150613, включая TexShop и LaTeXiT, индексация полностью нарушена:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample-2.tex
(Debug) Import: file:/Users/user/Desktop/sample-2.tex plugin:(null) (null)
2015-09-23 21:29:49.278 mdimport[5541:707] Imported '/Users/user/Desktop/sample-2.tex' of type 'public.tex' with no plugIn.

Правильный путь к плагину TeX.mdimporter (внутри TexShop) был утерян, и поэтому исчезла возможность индексировать новый файл *.tex. Другие плагины, такие как dyn.random или RichText.mdimporter, не вмешиваются, вероятно, потому, что они не индексируют файлы типа «public.tex». Поиск содержимого в (по крайней мере, новых) файлах .tex больше невозможен.

После копирования TeX.mdimporter в /Library/Spotlight индексация контента восстанавливается:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample-3.tex
(Debug) Import: file:/Users/user/Desktop/sample-3.tex plugin:file://localhost/Library/Spotlight/TeX.mdimporter/ /Library/Spotlight/TeX.mdimporter
(Info) Import: public.tex 

Чтобы правильно переиндексировать все файлы .tex (особенно те, в которых ключевые слова контента недоступны для поиска), вам необходимо перестроить базу данных Spotlight (проверьте первую часть моего ответа) или изменить даты модификации всех файлов .tex, чтобы инициировать их переиндексацию. .

Интересный. Нужно ли импортеру выполнять полнотекстовый поиск? Простое удаление импортера должно позволить прожектору обычного текста обрабатывать все файлы, не так ли? (и тем не менее огромный +1 - отличная работа)
Я могу искать все свои файлы без специального импортера, но я больше не использую 10.8... спасибо @klanomath
@Masi, что делает mdutil -s ~/Dropboxили если вы получаете сообщение об ошибке при выполнении первой команды sudo mdutil -s ~/Dropbox?
@Masi Хотя это сообщение об ошибке, это не ошибка «bash» при выполнении команды, вызванная отсутствием разрешений (что я имел в виду под ошибкой). Это сообщение об ошибке, в котором говорится, что mdutilне удается проиндексировать папку Dropbox. Как вы обмениваетесь (dl/ul) или где вы храните файлы .tex? В папке Дропбокс?
@Masi Disc2 — это второй том или облачное приложение/сервис, такое как Dropbox?

Вот как я решил эту проблему.

Примечание. Это все еще работает с тех пор, как я впервые опубликовал решение. В то время я использовал Mac OS 10.11.5 и TeXShop 3.62; теперь это Mac OS 10.12.3 и TeXShop 3.77. Для редактирования файлов .plist (как описано ниже) я использую Xcode.

Во-первых, используя mdlsкоманду, я обнаружил, что все мои файлы .tex сообщают kMDItemContentType = “public.tex”(если ваша система сообщает иначе, вам придется соответствующим образом изменить следующие инструкции).

Поэтому я открыл TeXShop> Contents (щелкнув TeXShop правой кнопкой мыши и выбрав Показать содержимое пакета). Я изменил Info.plist, добавив public.tex в качестве UTI типа содержимого документа следующим образом (см. строку, выделенную синим цветом):

редактирование info.plist

Затем я изменил Info.plist в TeXShop>Contents>Library>Spotlight>TeX.mdimporter>Contents (выполните Show Package Contents of TeX.mdimporter). Как и выше, я добавил public.tex в соответствующих местах. Смотрите следующую картинку:

редактирование Info.plist TeX.mdimporter

После этого Spotlight ищет содержимое файлов .tex.

Было бы здорово получить одну строку для этого, чтобы понять это лучше. Пока нет подтверждения о том, как это работает.
Я бы хотел, чтобы вы показали нам обычный текстовый редактор; таблица Xcode немного сбивает с толку.
Наконец-то снова работаем над Sierra! Какое облегчение!

Кажется, это проблема с импортом метаданных Spotlight. Отсутствующий, поврежденный или неработающий путь к «Плагину Spotlight», установленному пакетом «TexLive».

Вывод «mdimport -L» на моей машине включает строку:

"/Applications/TeX/TeX Live Utility.app/Contents/Library/Spotlight/DVIImporter.mdimporter"

Я не вижу подобной строки в вашем выводе. Хорошим решением для вас может быть переустановка дистрибутива «TeX Live» из дистрибутива MacTeX-2015 по адресу: https://www.tug.org/mactex/ , это должно исправить ваш неверный путь mdimport.

mactex-20150613.pkg

Не используйте укороченные ссылки — они запутывают адресата.
Переиндексация не решила проблему.

Если вы можете быть без Spotlight

Если вы хотите получить список файлов, а затем просмотреть каждый из них отдельно.

  • Используйте скрипт haetex, как описано в теме Как искать файлы .tex? который также работает в BSD, поскольку POSIX.

Если вы хотите получить все имена файлов и совпадения в одном и том же представлении, используйте для поиска всех файлов в каталоге Time...путем рекурсивного обхода

  • файлы/файлы с символическими ссылками [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • Файлы .tex без пробелов в именах каталогов ( источник )

    find -L $(find . -type l -name 'Math*') -name '*.tex' \
        -exec fgrep word /dev/null {} + |
    cut -c -80
    

Если в центре внимания

Временное исправление заключается в использовании документов .txt вместо документов .tex в некоторых папках, поскольку это стабильное решение.

cat *.tex > summary_all.txt

Другие попытки

  • Я пытаюсь найти терминальный подход для поиска файлов .tex здесь о том , чтобы открыть PATH, полученный в результате поиска, с помощью Click in Viewer?
  • Я пытаюсь заменить mdfind здесь о том, как заменить mdfind любым другим инструментом для .tex?
Как сделать рекурсивный поиск в файле? Если я правильно вас понял, вы можете объединить оба своих оператора find в один:find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +

Если вы не можете найти более желательное решение, вы всегда можете попробовать mdfind.
Насколько я понимаю, это аналог интерфейса командной строки Spotlight . Я часто им пользуюсь и считаю его весьма полезным.
Чтобы использовать его, просто откройте собственный Terminal.app , затем введите команду и аргумент следующим образом:

username@hostname:~$ mdfind osteoporosis.tex

В качестве альтернативы, если вы не знаете название; вы можете просто перечислить все файлы LaTeX с помощью:

username@hostname:~$ mdfind .tex

Есть вероятность, что эти запросы будут соответствовать похожим строкам, например '.text', и в этом случае используйте:

username@hostname:~$ mdfind osteoporosis.tex | grep '\.tex$'

И/или проще: (Вероятно, это лучший вариант для вашей ситуации:)

username@hostname:~$ mdfind .tex | grep '\.tex$'

Добавление | grep '\.tex$'к команде, по сути, пропускает результаты через другой фильтр, удаляя все имена файлов, не содержащие расширения LaTeX; '.tex' в конце их строки.


К вашему сведению: некоторые типы файлов не позволяют Spotlight идентифицироватьmdfindили находить их по содержимому . Это потому, что Spotlight может индексировать только те типы файлов, о которых он знает. Apple предоставляет несколько плагинов для индексации наиболее распространенных типов файлов, но не всех. По-видимому, в вашу копию MacTex должен быть включен импортер LaTeX Spotlight , но если он сломан, отсутствует или не соответствует требованиям, вы можете найти отличный прямо здесь: http://wiesmann.codiferes.net/wordpress/?page_id=262


Также здесь из LyX для Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
И в комплекте с TeXShop здесь:
http://pages.uoregon.edu/koch/texshop/

См. chat.stackexchange.com/rooms/29405/… для обсуждения и обсуждения этого вопроса.

Попробуйте Texnicle , у него есть правильная запись в mdimport -L

Спасибо за предложение! Однако мы заинтересованы в том, чтобы снова заработал системный поиск (Spotlight/Finder).