기존 파일을 건너뛰는 동안 디렉터리의 각 파일에 대해 별도의 .md5 파일을 생성합니다.

기존 파일을 건너뛰는 동안 디렉터리의 각 파일에 대해 별도의 .md5 파일을 생성합니다.

4TB에 달하는 수백만 개의 파일이 있습니다. 각 파일에 대해 단일 .md5를 생성할 수 있다면 좋을 것 같습니다.

나는 읽었다 디렉토리의 각 .fastq 파일에 대해 별도의 .md5 파일을 생성하시겠습니까? 각 개별 파일에 대해 개별 .md5를 생성하도록 수정되었습니다.

말하다: 찾아라. -type f -name "*" -exec sh -c "md5sum {} > {}.md5" \;

하지만 4TB의 수백만 개의 파일이 있다고 말하면 명령이 2일 내에 완료되지 않을 수 있으며 PC를 종료해야 합니다.

재개할 때 위 명령이 이미 기존 .md5 파일이 있는 파일(즉, 계산된 파일)을 건너뛸 수 있었으면 좋겠습니다.

어떻게 해야 하나요? 물론 재귀적으로요.

감사합니다.

답변1

.md5수백만 개의 디스크 클러스터와 수백만 개의 inode를 사용하여 파일당 하나의 파일("수백만 개의 파일")을 생성하는 대신 .md5모든 파일에 대한 서명을 하나의 큰 파일에 넣습니다(원하는 경우 나중에 분할할 수 있음)(읽기 man find;man xargs) :

find . -type f \! -name '*.md5' -print0 | xargs -0 md5sum > md5sum.out
#   Separate filenames with \000^^^^^^^          ^ in case some have spaces
#              ^^^^^^^^^^^^^^^^ but NOT *.md5 files
#      ^^^^^^^ each file

관련 정보