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