• Home
  • About
    • lahuman photo

      lahuman

      열심히 사는 아저씨

    • Learn More
    • Facebook
    • LinkedIn
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

중복 파일 검색

03 Oct 2020

Reading time ~1 minute

중복 파일 검색

프로젝트 바로가기

파일 관리를 잘 안하기 때문에 특정 디렉토리의 경우 중복된 파일이 다수 존재 합니다.

이를 확인하는 단순한 로직을 작성하였습니다.

md5 hash를 이용해서 파일의 hash정보로 비교 하여 더 정확하게 중복된 파일을 확인합니다.

사용법 : node index.js ./검색디렉토리/검색파일형식

$> node index.js ./searchPath/**/*.txt
$> node index.js **/*

시작 디렉테로를 상위로 이동시키기 위해서는 ../../ (한 개만 사용하면 동작 안함)를 사용해야 한다.

LINUX에서는 상대 경로만 동작한다. (윈도우에서는 절대 경로도 잘 동작함)

TODO :

  1. LINUX 절대 경로 동작 처리 & 상위 디렉토리 이상 동작 원인 분석 & 처리
    • WSL 에서만 이상 동작하고 나머진 정상 동작 확인
  2. md5 hash 파일 처리는 청크(Chunk) 사이즈 처리를 해서 성능을 개선한다.
    • 초기 100000byte (0.1MB) 만 로드 하여 hash 처리 후 비교 한다.
// liteMd5는 0.1MB만 md5 hash로 변환한다.

const FIRST_SIZE = 100000;

const liteMd5 = (filePath) => {
    const res = fs.openSync(filePath, 'r');

    let buffer = Buffer.alloc(FIRST_SIZE);
    fs.readSync(res, buffer, 0, FIRST_SIZE, 0,);
    return md5(buffer);
}

License

License

  • MIT license
  • Copyright 2020 © lahuman.


duplicationfilesearch Share Tweet +1