Найти тему
in_Grid

Команда find и опции - exec /Linux совет

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

Например, удаление файлов, список разрешений на файлы и т. д.

$ find ~/ -type f -exec ls -lah {} \;

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

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

Разбор опции -exec:

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

-lah - отображает все файлы, включая скрытые, их разрешения и другие метаданные файла, такие как размер файлов и тд.

- {} - Заполнитель "{}" представляет каждое имя файла и должен быть последним элементом в списке параметров.

- ; - Для обозначения конца списка параметров используется точка с запятой ";". Она должна быть экранирована обратной косой чертой "\", иначе оболочка интерпретирует ее.

Вы также можете использовать + вместо ; для указания конца списка параметров. Между символом + и фигурными скобками "{}" должен быть пробел.

С помощью команды -exec в find можно выполнить несколько команд.

Например, за один вызов можно найти количество слов в текстовых файлах и их размер на диске:

$ find . -имя "*.txt" -exec wc {} \; -exec du -sh {} \;

Если полезно - подписывайтесь на мой канал