Как использовать команду find для поиска нескольких имен файлов (расширений) в Linux
Часто мы оказываемся в ситуации, когда нам приходится искать несколько файлов с разными расширениями. Вероятно, это случалось с несколькими пользователями Linux, особенно из терминала.
Существует несколько утилит Linux, которые мы можем использовать для поиска файлов в файловой системе, но поиск нескольких имен файлов или файлов с разными расширениями иногда может оказаться сложной задачей и требует определенных команд.
Одной из многих утилит для поиска файлов в файловой системе Linux является утилита find
, и в этом практическом руководстве мы рассмотрим несколько примеров использования find для поиска файлов. помогите нам найти несколько имен файлов одновременно.
Прежде чем мы углубимся в сами команды, давайте рассмотрим краткое введение в утилиту Linux find
.
Самый простой и общий синтаксис утилиты find следующий:
find directory options [ expression ]
Давайте перейдем к рассмотрению некоторых примеров команды find в Linux.
1. Предполагая, что вы хотите найти все файлы в текущем каталоге с расширениями .sh
и .txt
, вы можете сделать это, запустив команда ниже:
find . -type f \( -name "*.sh" -o -name "*.txt" \)
Интерпретация команды выше:
.
означает текущий каталог- Опция
-type
используется для указания типа файла, и здесь мы ищем обычные файлы, представленныеf
- Опция
-name
используется для указания шаблона поиска, в данном случае расширения файлов. -o
означает «ИЛИ»
Рекомендуется заключить расширения файлов в скобки, а также использовать escape-символ \
( обратная косая черта), как в команде.
2. Чтобы найти три имени файла с расширениями .sh
, .txt
и .c
, введите следующую команду:
find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)
3. Вот еще один пример поиска файлов с помощью .png
, .jpg
, .deb
и <..pdf расширения:
find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)
Если вы внимательно присмотритесь ко всем приведенным выше командам, то обнаружите небольшую хитрость в использовании опции -o
в команде find, которая позволяет вам добавлять больше имен файлов в массив поиска и также зная имена файлов или расширения файлов, которые вы ищете.
Заключение
В этом руководстве мы рассмотрели простой, но полезный трюк с утилитой поиска, позволяющий находить несколько имен файлов с помощью одной команды. Чтобы понять и использовать find для многих других важных операций командной строки, вы можете прочитать нашу статью ниже.
Не пропустите: Команда «найти» в Master Linux с 35 примерами