파일 내용을 확장자와 비교하는 유틸리티가 있습니까?

파일 내용을 확장자와 비교하는 유틸리티가 있습니까?

파일 내용이 확장자와 일치하는지 확인할 수 있는 유틸리티(Linux 또는 Windows용)를 찾고 있습니다. 이는 심하게 손상된 파일을 잡기 위한 것입니다.

나는 모든 것에 대해 "file"을 실행하는 작은 bash 스크립트를 작성하려고 하는데, 내가 사용하는 올바른 형식의 모든 파일 유형에 대해 "file"이 반환하는 것이 무엇인지 파악하고 싶지 않습니다. 마주치게 됩니다.

배경: 최근 한 친구가 실수로 Windows 사용자 폴더(예... 데스크톱, 레지스트리, 내 문서 등 모든 것...)를 지웠습니다. 가능한 한 많이 복구하기 위해 공격적인 삭제 취소 유틸리티를 사용했습니다. 이 특정 유틸리티는 어떤 이유로든 동일한 파일의 여러 복사본을 복구합니다(예: "Letter.doc", "Letter(1).doc", "Letter(2).doc" 등...). 이러한 파일 중 일부에는 임의의 정크가 포함되어 있고 일부는 유효한 문서이며 그 중 일부는같은문서.

그래서 나는 fdupes와 perl 스크립트를 사용하여 모든 중복 파일을 핵으로 만들었지만 이제는 원본 파일일 수 있는 것처럼 보이는 파일과 그렇지 않은 파일을 분리하고 싶습니다. 제가 이 일을 해야 할 첫 번째 사람이라는 게 믿기지 않아요...

답변1

당신은 시도 할 수 있습니다TrIDNet프로그램(또한CLI그리고온라인버전). 내장된(및 확장 가능한) 라이브러리를 기반으로 하는 이진 서명을 기반으로 파일을 식별합니다. 여기에 목록이 있습니다새로운 유형에 대한 정의를 수동으로 추가할 수도 있지만 기본적으로 식별할 수 있는 파일 확장자입니다.

파일의 바이너리 서명이~ 아니다손상되지 않은 경우 소프트웨어는 파일이 손상되었음을 알 수 없습니다. 손상 여부를 확인하기 위해 파일을 사용하는 응용 프로그램의 구현에 달려 있습니다(파일이 손상되었는지 "알 수" 있는 방법이 없기 때문입니다).

이는 파일이 작동하는 방식일 뿐이며, 해당 바이너리 파일을 사용하여 파일이 손상되었는지 여부를 확인하는 것은 프로그램에 달려 있습니다(일부 파일 형식은 파일 내부에 체크섬을 저장함).

답변2

Office 앱의 경우 열기 대화 상자에 열기 및 복구... 옵션이 있습니다.

이미지의 경우 IrfanView는 파일 헤더를 재구성할 수 있습니다.

비디오의 경우 VLC Player가 동일한 작업을 수행합니다.

위에서 EBGreen이 말했듯이 모든 파일 형식은 물론이고 다양한 파일 형식에 대해 실제로 이 작업을 수행하는 소비자 수준 제품과는 매우 다릅니다.

관련 정보