Альтернатива Whereisit для Mac

Вопрос или проблема

Я ищу альтернативу Whereisit для Windows, чтобы индексировать мои файлы и папки по типу файла и иметь возможность просматривать снимок индексированных файлов позже.

Не мог бы кто-нибудь предложить альтернативу Whereisit для Mac?

Whereisit позволяет индексировать диски и сохранять индекс для последующего использования. Индексированный файл позволяет просматривать диски так, как если бы вы просматривали их обычно. Файлы не сохраняются, только имена файлов и миниатюры хранятся в виде списка директорий.

Скриншот 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.

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

Оцените материал
Добавить комментарий

Капча загружается...