MyTetra Share
Делитесь знаниями!
Как подсчитать контрольные суммы md5 для файлов в каталоге и во всех подкаталогах?
Время создания: 04.06.2024 15:12
Текстовые метки: linux, контрольная, сумма, md5, md5sum, каталог, директория, папка, подкаталог, поддиректория, команда, рекурсивно
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/17175031504jh0wil56r/text.html на raw.github.com

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


В Linux это можно сделать достаточно просто. Нужно воспользоваться следующей командой, запущенной в заданном подкаталоге:



find -type f -exec md5sum '{}' \;



Эта команда выдаст список md5-сумм в консоль. Чтобы получить список сразу в файл, можно выполнить команду:



find -type f -exec md5sum '{}' \; > md5sum.txt



В этом варианте есть небольшая проблема: в список попадет и сам файл md5sum.txt, а зачастую такое поведение не нужно. Чтобы исключить попадание файла md5sum.txt в конечный вывод, команду надо переделать вот так:



find -type f \( -not -name "md5sum.txt" \) -exec md5sum '{}' \; > md5sum.txt



Вывод команды выглядит примерно так:



5a28f1322f7b5c638825a152262541f9 ./joystick_256/config.ini

e21a10e16da5c6853d23a817d81c1aca ./keyboard/config.ini

2eae04a2a3f95bdd0cc1c98241876898 ./keyboard/sample.txt

1df034647c487612474b4c30773066e7 ./mouse/config.ini



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


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования