Команда для рекурсивного хеширования CRC (CRC32)

С помощью команд md5sum , sha1sum , sha256sum я могу взять текстовый файл, имеющий хэш и путь на строку, и проверить весь список файлов в одной команде, например sha1sum -c mydir.txt . (Указанный текстовый файл легко создать с помощью петли в find или другой.)

Есть ли способ сделать то же самое со списком хэшей CRC / CRC32?

Такие хэши часто хранятся внутри zip-подобных архивов, таких как ZIP или 7z. Например:

 $ unzip -v archive.zip Archive: archive.zip Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 8617812 Stored 8617812 0% 12-03-2015 15:20 13fda20b 0001.tif 

Или:

 $ 7z l -slt archive.7z Path = filename Size = 8548096 Packed Size = Modified = 2015-12-03 14:20:20 Attributes = A_ -rw-r--r-- CRC = B2F761E3 Encrypted = - Method = LZMA2:24 Block = 0 

One Solution collect form web for “Команда для рекурсивного хеширования CRC (CRC32)”

У утилиты crc32 нет опции -c sha1sum . Тем не менее, проверка может быть выполнена в сценарии.

Скажем, мы сохранили значения crc32 в файле в том же формате, что и значения sha1sum:

 a8374911 *file1.ext 32c5188e *file2 6592d5e5 *bflmpsvz 

Crc32 можно проверить с помощью скрипта bash:

 while read line do name=${line#* \*} crc32=`crc32 "$name"` echo -n "$name: " if [ "${line% \**}" == "$crc32" ] then echo OK else echo FAILED fi done < file_with_crc32 

Сценарий предоставляет тот же результат, что и sha1sum -c . Он выполняет итерацию по всем строкам в файле file_with_crc32 и для каждой строки

  • извлекает имя файла из строки чтения
  • вычисляет crc32
  • сравнивает вычисленное значение со значением из файла
  • печатает результат
  • Где мои данные 7za записываются в
  • Замещать все в текущем каталоге
  • Сжимать zip-файлы с более высоким сжатием
  • Как найти поврежденные архивные файлы?
  • Почтовая папка без указания пути к папке и требует только один аргумент
  • Как перенаправить вывод программы в ZIP-файл?
  • Извлеките один файл из zip-файла, только зная расширение
  • Кодирование zip-файла
  • Уменьшите размер файла (.jar) в unix
  • Прокрутите только архив данных .zip только для чтения, чтобы извлечь строку из файла .kml в
  • Добавление распакованных файлов в ZIP-папку
  • Linux и Unix - лучшая ОС в мире.