Команда для рекурсивного хеширования 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
  • сравнивает вычисленное значение со значением из файла
  • печатает результат
  • Как распаковать несколько каталогов с zip-файлами, которые также содержат подкаталоги с zip-файлами?
  • как распаковать файл с другим именем
  • Как я могу перечислить все * .doc файлы в Zip-архиве, включая файлы в подкаталогах?
  • Файлы ZIP с ограничением по размеру
  • Как узнать путь к определенному файлу в zip-архиве, не извлекая его?
  • Как сделать zip / unzip в командной строке unix?
  • Извлечение одного файла из нескольких ZIP-файлов
  • Что не так с этой командой `zip` для создания многосегментного архива?
  • Автоматическое извлечение zip-файлов, таких как osx
  • Отправка zip-файла, содержащего простой текстовый файл по электронной почте
  • Как заменить файл в zip-файле
  • Понимание среды Linux Back-Slash и звездочки
  • Interesting Posts

    Невозможно выполнить программу без прав root независимо от группы или разрешений

    Утилита, которая дает строку из / proc / id / maps по конкретному адресу

    как добавить пользовательскую опцию в команду mkdir

    Как извлечь строки, если соответствует одна из двух строк соответствия?

    Выбор файлов, начинающихся с $ LETTER, или буквы позже, чем $ LETTER в алфавите

    Правила udev, похоже, не работают

    Узнайте, какой процесс находится на переднем плане на bash

    Копирование содержимого удаленного файла в локальный буфер обмена через PuTTY

    Как читать / изменять контекст SELinux на смонтированном изображении ext4 из системы, отличной от SELinux?

    Объявить новый ключ-модификатор с помощью XKB

    Ссылочный псевдоним Grep на nano. Ничего не происходит, когда команда выдается

    Не удалось подключиться к ftp.us.debian.org:http:

    ошибка монтирования: файловая система cifs не поддерживается системой

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

    Как этот кронаб интерпретирует «* / N * * * *», где N находится между 31 и 59?

    Linux и Unix - лучшая ОС в мире.