OSX: 해당 체크섬이 있는 파일이 포함된 텍스트 파일에서 MD5 체크섬을 반복적으로 생성합니다.

OSX: 해당 체크섬이 있는 파일이 포함된 텍스트 파일에서 MD5 체크섬을 반복적으로 생성합니다.

여러 하위 디렉터리가 있지만 tiff 파일이 포함된 폴더는 단 하나뿐인 디렉터리에서 md5 체크섬을 생성하고 파일 이름과 해당 체크섬을 텍스트 파일에 쓰고 싶습니다.

예를 들어, TIFF 디렉터리에는 2개의 하위 디렉터리가 있습니다.

TIFF
  |- b0125TIFF
        |- b_0000_001.tif
        |- b_0000_002.tif
        |- b_0000_003.tif
        |- b_0000_004.tif
  |- c0126TIFF
        |- c_0000_001.tif
        |- c_0000_002.tif
        |- c_0000_003.tif
        |- c_0000_004.tif

내가 기대하는 텍스트 파일(물론 체크섬은 달라야 함):

** foo.md5:
188be1dbd4f6bcfdef8d25639473e6ec *b0125TIFF/b_0000_001.tif
188be1dbd4f6bcfdef8d25639473e6ec *b0125TIFF/b_0000_002.tif
188be1dbd4f6bcfdef8d25639473e6ec *b0125TIFF/b_0000_003.tif
188be1dbd4f6bcfdef8d25639473e6ec *b0125TIFF/b_0000_004.tif
188be1dbd4f6bcfdef8d25639473e6ec *c0126TIFF/c_0000_001.tif
188be1dbd4f6bcfdef8d25639473e6ec *c0126TIFF/c_0000_002.tif
188be1dbd4f6bcfdef8d25639473e6ec *c0126TIFF/c_0000_003.tif
188be1dbd4f6bcfdef8d25639473e6ec *c0126TIFF/c_0000_004.tif

어떻게 해야 하나요?

나는 이것이 디렉토리에 재귀적으로 체크섬을 생성한다는 것을 알고 있습니다.

find -s . -type f -exec md5 -q {} \; | md5

답변1

출력을 통과 find하고 싶지 않으면 많은 MD5 체크섬의 MD5 체크섬이 제공됩니다.md5md5


$ find TIFF -type f -name '*.tif' -exec md5 {} ';' >md5.txt
$ cat md5.txt
MD5 (TIFF/b0125TIFF/file-1.tif) = d41d8cd98f00b204e9800998ecf8427e
MD5 (TIFF/b0125TIFF/file-2.tif) = d41d8cd98f00b204e9800998ecf8427e
MD5 (TIFF/b0125TIFF/file-3.tif) = d41d8cd98f00b204e9800998ecf8427e
MD5 (TIFF/c0126TIFF/file-1.tif) = d41d8cd98f00b204e9800998ecf8427e
MD5 (TIFF/c0126TIFF/file-2.tif) = d41d8cd98f00b204e9800998ecf8427e
MD5 (TIFF/c0126TIFF/file-3.tif) = d41d8cd98f00b204e9800998ecf8427e

안타깝게도 macOS에서의 구현은 md5체크섬 확인을 지원하지 않지만 md5 -c유틸리티 shasum는 다음을 수행합니다.

$ find TIFF -type f -name '*.tif' -exec shasum {} ';' >sums.txt
$ cat sums.txt
da39a3ee5e6b4b0d3255bfef95601890afd80709  TIFF/b0125TIFF/file-1.tif
da39a3ee5e6b4b0d3255bfef95601890afd80709  TIFF/b0125TIFF/file-2.tif
da39a3ee5e6b4b0d3255bfef95601890afd80709  TIFF/b0125TIFF/file-3.tif
da39a3ee5e6b4b0d3255bfef95601890afd80709  TIFF/c0126TIFF/file-1.tif
da39a3ee5e6b4b0d3255bfef95601890afd80709  TIFF/c0126TIFF/file-2.tif
da39a3ee5e6b4b0d3255bfef95601890afd80709  TIFF/c0126TIFF/file-3.tif

$ shasum -c sums.txt
TIFF/b0125TIFF/file-1.tif: OK
TIFF/b0125TIFF/file-2.tif: OK
TIFF/b0125TIFF/file-3.tif: OK
TIFF/c0126TIFF/file-1.tif: OK
TIFF/c0126TIFF/file-2.tif: OK
TIFF/c0126TIFF/file-3.tif: OK

shasum기본적으로 파일의 SHA1 해시가 계산됩니다.

관련 정보