방금 손상된 하드 드라이브(유니코드 기호, 공백 등을 사용하여 긴 이름을 가진 복잡한 디렉터리 구조에 분산되어 있음)에서 많은 수의 파일을 복구했습니다. 이제 확인 정보(예: zip 아카이브(LibreOffice 및 기타 XML-in-ZIP 유형 문서 포함), 7z 및 rar 아카이브, 자동 추출 exe 아카이브 등)가 포함된 모든 파일을 확인하고 싶습니다.
이 목표를 어떻게 달성할 수 있나요?
답변1
이름으로 파일 찾기:
find /mount/point -type f \( \
\( -name '*.zip' -o -name '*.o[dt][bcfghipst]' \) -exec unzip -t {} \; \
-o -name '*.7z' -exec 7z t {} \; \
… \)
find /mount/point -type f \( -name '*.7z' -o -name '*.o[dt][bcfghipst]' \) -exec unzip -t {} \;
유형별로 파일 찾기:
find /mount/point -type f -exec sh -c '
case "$(file --mime-type -b - <"$0")" in
application/zip) unzip -t "$0";;
application/x-7z-compressed) 7z t "$0";;
application/rar) unrar t "$0";;
…
esac
' {} \;