Вопрос или проблема
Я ищу альтернативу Whereisit для Windows, чтобы индексировать мои файлы и папки по типу файла и иметь возможность просматривать снимок индексированных файлов позже.
Не мог бы кто-нибудь предложить альтернативу Whereisit для Mac?
Whereisit позволяет индексировать диски и сохранять индекс для последующего использования. Индексированный файл позволяет просматривать диски так, как если бы вы просматривали их обычно. Файлы не сохраняются, только имена файлов и миниатюры хранятся в виде списка директорий.
На Mac есть командная строка terminal command whereis, которая показывает расположение файла. whereis python
дает расположение python. Также which python
показывает текущую действующую версию python.
Вот AppleScript, который рекурсивно перечисляет файлы и папки с параметрами. Источник
property script_name : "List Folder Contents"
property script_description : "Этот скрипт перечислит содержимое папки, возвращая полные пути в виде строк и ограничивая список конкретными типами файлов. Скрипт также может обрабатывать подпапки (рекурсия)."
set the_folder to (choose folder with prompt "Выберите папку для перечисления:") as Unicode text
set file_types to {} --типы файлов, установите {} и inc_folders в true, чтобы вернуть только папки; типы файлов - это 4-символьные коды, такие как "osas" или "TEXT"
set with_subfolders to my get_boolean("Искать в подпапках?", {"Нет", "Да"})
if with_subfolders = "user cancelled" then return
set inc_folders to my get_boolean("Включить папки в список? (Если вы хотите только имена файлов, а не имена папок, выберите \"Нет\".)", {"Нет", "Да"})
if inc_folders = "user cancelled" then return
set use_posix_path to my get_boolean("Возвращать пути как HFS (Mac-стиль) или POSIX (UNIX-стиль)?", {"HFS", "POSIX"})
if use_posix_path = "user cancelled" then return
set return_as_string to my get_boolean("Возвращать результаты как список AppleScript или строку с каждым файлом на отдельной строке?", {"Список", "Строка"})
if return_as_string = "user cancelled" then return
set add_to_clipboard to my get_boolean("Скопировать результаты в буфер обмена?", {"Нет", "Да"})
if add_to_clipboard = "user cancelled" then return
set the_files to get_folder_list(the_folder, file_types, with_subfolders, inc_folders, use_posix_path)
if return_as_string then
tell (a reference to my text item delimiters)
set {old_tid, contents} to {contents, return}
set {the_files_string, contents} to {the_files as Unicode text, old_tid}
end tell
copy the_files_string to the_files
end if
if add_to_clipboard then
if not return_as_string then
copy the_files to the_files_string
repeat with i from 1 to (count the_files_string)
set item i of the_files_string to ("\"" & item i of the_files_string & "\", ")
end repeat
set the_files_string to ("{" & (text 1 thru -3 of (the_files_string as Unicode text)) & "}")
end if
set the clipboard to the_files_string
end if
beep
return the_files
on get_folder_list(the_folder, file_types, with_subfolders, inc_folders, use_posix_path)
set the_files to {}
tell application "Finder" to set folder_list to items of folder the_folder
repeat with new_file in folder_list
try
set temp_file_type to file type of new_file
on error
set temp_file_type to "fold"
end try
if file_types contains temp_file_type or file_types = {} then
if use_posix_path then
set the_files to the_files & {POSIX path of (new_file as Unicode text)}
else
set the_files to the_files & {new_file as Unicode text}
end if
end if
if temp_file_type = "fold" then
if inc_folders and file_types ≠ {} then
if use_posix_path then
set the_files to the_files & {POSIX path of (new_file as Unicode text)}
else
set the_files to the_files & {new_file as Unicode text}
end if
end if
if with_subfolders then set the_files to the_files & my get_folder_list((new_file as Unicode text), file_types, with_subfolders, inc_folders, use_posix_path)
end if
end repeat
return the_files
end get_folder_list
on get_boolean(m, b)
try
return (button returned of (display dialog m buttons ({"Отмена"} & b) default button 3 with icon 1) = (b's item 2))
on error
return "user cancelled"
end try
end get_boolean
Скорее всего, он уже установлен:
ОПИСАНИЕ
Программа locate ищет в базе данных все имена путей, которые соответствуют
указанному шаблону. База данных пересчитывается периодически (обычно
раз в неделю или день) и содержит имена путей всех файлов, которые
доступны публично.
...
Программа locate может не отобразить некоторые файлы, которые присутствуют, или
может показать файлы, которые были удалены из системы. Это произошло потому, что
locate отображает только файлы, которые присутствуют в базе данных, которая
обычно обновляется раз в неделю
с помощью задания /System/Library/LaunchDaemons/com.apple.locate.plist. Используйте find(1), чтобы
найти файлы более временного характера.
–вырезка из man locate.
На системе вроде:
OS, ker|rel, machine: Apple/BSD, Darwin 17.3.0, x86_64
Distribution : macOS 10.13.2 (17C88), High Sierra
bash GNU bash 3.2.57
locate - ( /usr/bin/locate, 2017-10-25 )
Обратите внимание, что locate отображает совпадения с полным путем, поэтому вы можете получить гораздо больше вывода, чем ожидали. Я обычно перенаправляю вывод в less или grep.
Например:
$ locate a.out
выдает:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man5/a.out.5
/Library/Developer/CommandLineTools/usr/share/man/man5/a.out.5
/Users/drl/try/confidence/lct-c/a.out
/Users/test1/try/confidence/lct-c/a.out
/usr/local/Homebrew/Library/Homebrew/test/support/fixtures/mach/a.out
Для более длинного списка его необходимо будет обрезать, просматривать с помощью программы просмотра и т. д.
С наилучшими пожеланиями … всего доброго, drl
Ответ или решение
Альтернатива Whereisit для Mac: Полный Обзор
Если вы ищете альтернативу Whereisit для Mac, вам повезло. Существует ряд приложений и методов, которые могут помочь вам индексировать файлы и папки, создавая их снимки для дальнейшего просмотра. Ниже приведен обзор некоторых из наиболее распространённых и эффективных вариантов.
1. EasyFind
EasyFind — это бесплатное приложение, которое позволяет быстро искать файлы и их содержимое на вашем Mac. В отличии от Whereisit, оно не требует индексации файлов, а просто сканирует диск по запросу. Приложение поддерживает различные типы файлов и позволяет просматривать наличие файлов прямо из окна программы.
2. HoudahSpot
HoudahSpot — более продвинутая альтернатива, которая предоставляет обширные функции поиска и возможность составления отчетов о содержимом ваших дисков. HoudahSpot позволяет создать свои собственные индексы, фильтровать по типам файлов и удобно организовывать результаты поиска. Это приложение будет отличным выбором для профессионалов.
3. Devonthink
Devonthink — это мощное приложение для управления данными, которое позволяет не только индексировать, но и хранить файлы, делать заметки и организовывать документы. Оно предлагает возможнось вести архивированный список файлов с действенной инструментальной панелью для управления содержимым.
4. FileSpot
FileSpot — ещё одно интересное приложение, которое фокусируется на улучшенной поисковой функции. Оно позволяет индексировать файлы и папки, а затем использовать этот индекс для быстрого поиска на диске. Хотя функционал может быть ограничен в сравнении с более мощными решениями, такими как HoudahSpot, FileSpot может быть отличной альтернативой для простых задач.
5. Command Line Utilities
Для более технически подкованных пользователей, использование командной строки может стать хорошим выбором. Команды locate
и find
позволяют находить файлы по имени и содержимому. Например, команда locate имя_файла
позволяет быстро находить файлы, находящиеся в системе. Однако, стоит учесть, что база данных для locate
обновляется нечасто, и результаты могут быть неактуальными.
Тем не менее, если вам нужен более визуальный и интуитивно понятный интерфейс, можно обратиться к скриптам AppleScript, подобным предоставленному вами скрипту для рекурсивного обхода каталогов и листинга их содержимого. Эти скрипты можно адаптировать под ваши нужды, добавляя различные фильтры и настройки.
Заключение
Выбор альтернативы Whereisit для Mac зависит от ваших персональных предпочтений и требований к функциональности. Особенности каждого из предложенных приложений делают их подходящими для различных сценариев использования. В то время как EasyFind отлично подходит для простых поисков, такое приложение как HoudahSpot будет полезным для более сложных задач. Для опытных пользователей наиболее удачным вариантом может стать использование командной строки или AppleScript.
Попробуйте использовать несколько из этих опций, чтобы найти наиболее удобное решение для вашего рабочего процесса.