-
디렉토리에서 중복된 파일을 찾을때 사용합니다.NodeJS 2021. 1. 6. 04:19728x90
중복 파일 검색
프로젝트 바로가기
파일 관리를 잘 안하기 때문에 특정 디렉토리의 경우 중복된 파일이 다수 존재 합니다.
이를 확인하는 단순한 로직을 작성하였습니다.
md5 hash를 이용해서 파일의 hash정보로 비교 하여 더 정확하게 중복된 파일을 확인합니다.
사용법 : node index.js ./검색디렉토리/검색파일형식
$> node index.js ./searchPath/**/*.txt $> node index.js **/*
시작 디렉테로를 상위로 이동시키기 위해서는
../../
(한 개만 사용하면 동작 안함)를 사용해야 한다.LINUX에서는 상대 경로만 동작한다. (윈도우에서는 절대 경로도 잘 동작함)
TODO :
- LINUX 절대 경로 동작 처리 & 상위 디렉토리 이상 동작 원인 분석 & 처리
- WSL 에서만 이상 동작하고 나머진 정상 동작 확인
- 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
- MIT license
- Copyright 2020 © lahuman.
728x90'NodeJS' 카테고리의 다른 글
Node express에서 Content Security Policy(CSP) 처리 하기 (0) 2021.01.08 Node에서 mssql 사용하기 (0) 2021.01.08 워크플레이스 게시글 반응 조회 (0) 2021.01.05 JIRA work log를 Time tracking 형식으로 도식화 처리 (0) 2021.01.04 swagger 2.0에서 OAS 3.0으로 변환시 body 값이 undefined로 표출 되는 현상 처리 (0) 2020.12.25 - LINUX 절대 경로 동작 처리 & 상위 디렉토리 이상 동작 원인 분석 & 처리