find . -type d \( -name DIR1 -o -name DIR2 \) -prune -o -type f -print0 | xargs -r0 md5sum
Команда find . -type d \( -name DIR1 -o -name DIR2 \) -prune -o -type f -print0 | xargs -r0 md5sum выполняет следующие действия:
— find . -type d \( -name DIR1 -o -name DIR2 \) -prune исключает указанные каталоги (DIR1 и DIR2) при поиске файлов в текущей директории.
— -o -type f -print0 ищет файлы в текущей директории и выводит их имена, разделенные нулевым символом для правильной обработки файлов с пробелами и специальными символами в именах.
— xargs -r0 md5sum передает список файлов из предыдущего шага команде md5sum для создания хеш-суммы MD5 каждого файла.
Эта команда полезна, когда вам нужно создать файл с хеш-суммами MD5 для всех файлов в текущей директории, исключая определенные каталоги (DIR1 и DIR2).
Альтернативным способом может быть использование цикла и команды md5sum для каждого файла, но команда find позволяет это сделать более эффективно и гибко.
