Я унаследовал огромный медиа-архив без единой организационной схемы. Его содержание датируется не менее 10 лет. Меня попросили найти иголку в этом стоге сена, и у меня есть некоторые предположения относительно названия этой иголки.

Но я не знаю его названия наверняка. Я хочу использовать одну команду find в Терминале для поиска альтернативных имен. И я хочу включить второй набор: возможные расширения файлов.

В псевдокоде вот что я имею в виду:

find [in a given directory] [files and folders whose name matches (*guess1* OR *guess2*) AND whose name matches (*.extension1 OR *.extension2)]

Как мне это выразить в Терминале?

2 ответа2

0

Поиск терминала очень полезен, когда я перехожу между MacOS и Linux.

Но когда я нахожусь в MacOS и помогаю кому-то найти файл / папку, я не хочу упоминать использование терминала.

EasyFind - бесплатное, быстрое и гибкое решение. Http://www.devontechnologies.com/download/products.html

0

find есть операторы для этого *, и вы также можете сгруппировать их по приоритету:

find /some/path \
\( -name "*guess1*" -or -name "*guess2*" \) \
-and \
\( -name "*.extension1" -or -name "*.extension2" \)

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

* Обратите внимание, что вышеприведенное руководство предназначено для find GNU, который по умолчанию не поставляется с OS X (но может быть установлен через brew install findutils). Синтаксис тот же, хотя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .