Как рекурсивно найти все файлы в каталогах/подпапках по подстановочным знакам

Значок терминала Mac

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

Например, может быть, вы хотите найти все файлы в файловой системе, содержащие слово «счет-фактура», независимо от того, где в имени файла появляется текст «счет-фактура» (например, файлы со следующими именами: invoice1-2023.pdf, big-invoice-wow.pdf, yourfavoriteinvoice.pdf, invoice-2-22.pdf и т. д.).

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

Как рекурсивно найти все файлы, соответствующие подстановочному знаку

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Воспользуемся командой find, которая, как вы уже догадались по названию, позволяет находить файлы в файловой системе прямо из командной строки.

find . -name "text*"

Эта команда разбита следующим образом:

находить [directory] (В данном случае «.» обозначает текущий каталог) -name «[matched text and wildcards](В этом случае имена файлов соответствуют «тексту», за которым следует что угодно).

Чтобы найти совпадения с подстановочными знаками до и после определенного текстового совпадения, используйте следующее, заменив «текст» соответствующим синтаксисом для сопоставления файлов для вашего варианта использования:

find . -name "*text*"

Используя пример, упомянутый во введении, предположим, что вы пытаетесь отследить все файлы, содержащие текст «счет» в имени файла, независимо от того, где они расположены во всей структуре домашних каталогов пользователей. Синтаксис такого поиска может выглядеть примерно так:

find ~/ -name "*invoice*"

При выполнении этой команды в качестве вывода команды может появиться что-то вроде следующего:

/Users/Paul//Library/Application Support/CloudAppHoldingFiles/mystery-invoice-2023.pdf
/Users/Paul//Library/Application Support/WhoKnows/invoice-2024.pdf
/Users/Paul/Documents/big-invoice-wow.pdf
/Users/Paul/Documents/Misc/small-invoice-dontforget.pdf
/Users/Paul/Desktop/YouForgotAboutThisInvoice.pdf
/Users/Paul/Desktop/AnotherInvoice.pdf
/Users/Paul/Documents/Invoices/invoice-1-23.pdf
/Users/Paul/Documents/Invoices/invoice-3-23.pdf
/Users/Paul/Documents/Invoices/invoice-4-23.pdf
/Users/Paul/Documents/Invoices/invoice-5-23.pdf
/Users/Paul/Documents/Invoices/invoice-6-23.pdf

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

Хотя вы, безусловно, можете использовать Spotlight или Finder, чтобы попытаться отследить все совпадения, с некоторыми из последних изменений в Spotlight кажется более трудным фактически найти все файлы, и хотя поиск Finder также может использовать подстановочные знаки для поиска совпадений имен, Командная строка просто проще для многих пользователей. Если Finder проще, вы можете найти этот трюк, чтобы рекурсивно перечислить все файлы в подкаталогах, который также будет полезен.

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *