728x90 반응형 Find5 Groovy : 100MB 이상의 파일중에서 중복된 파일 찾기 Groovy 에서도 100MB 넘는 파일 중에서 중복된 파일을 찾는 프로그램을 만들어보았다. 모든 언어를 공부하면서 만들어보는 것인데, MD5 Checksum 이 같으면 중복된 파일로 인식하고, 카운트하여 정렬하고 출력하도록 하였다. 파일에 대한 MD5 Checksum 기능이 없어서 직접 구현되었고, 이 부분을 제외하면 Ruby 와 거의 비슷하다.// -----------------------------------------------------------------------------// 100MB 이상의 파일중에서 중복된 파일 찾기// ----------------------------------------------------------------------------- import java.se.. 2012. 3. 7. (Ruby) 파일(디렉토리)이름에 특정 문자열이 포함된 목록 출력하기 Ruby에서 파일(디렉토리)이름에 특정 문자열이 포함된 목록 출력하기위해서 아래와 같이 하면 된다. Unix(Linux)/Cygwin 에서는 기본적인 도구만으로도 쉽게 할 수 있지만, 그런 환경에 안되는 곳에서는 유용하다. 아주 사소한 팁이지만, 이런 것이 여러가지가 모이면, 나중에 큰 도움이 될 것이다. ^^# -*- coding: cp949 -*-require 'find' $dirlist = ["C:\\"]$sub_string = "애니메이션" $dirlist.each() do |dirname| puts dirname if dirname.include?($sub_string) Find.find(dirname) do |file| next if file == nil next if n.. 2011. 10. 27. Python : 10MB 이상의 파일중에서 중복된 파일 찾기 PHP, Ruby 에 이어서, Python 에서도 중복파일 찾기를 만들어보았다. # -*- coding: cp949 -*- # 버전 3.2.2 이상 from operator import itemgetter from hashlib import md5 import os TARGET_DIR = "M:\\PATH\\TO\\특정디렉토리" LIMITED_SIZE = 10*(1024*1024) # 10MB def md5sum(filename, buf_size=4068): m = md5() with open(filename, 'rb') as f: data = f.read(buf_size) while data: m.update(data) data = f.read(buf_size) return m.hexdigest() d.. 2011. 7. 12. (Ruby) 10MB 이상의 파일중에서 중복된 파일 찾기 아래 코드에서 파일에 대한 MD5SUM 을 구하기 위해서 주석 처리한 부분을 대신 사용할 수 도 있다. 인터넷에서 찾아보면 이렇게 되어 있는 경우가 많은데, 이렇게 하면 메모리를 많이 잡아먹는 문제가 발생한다. 반드시 Digest::MD5.file().hexdigest 를 이용해야만 적은 메모리를 사용하면서 원활하게 동작되니 주의하기 바란다.# -*- coding: cp949 -*-require 'find'require 'digest/md5' file_list = Array.newFind.find("C:\\") do |path| if File.file?(path) and File.size(path) > 10_000_000 # digest = Digest::MD5.hexdigest(File.read.. 2011. 5. 17. (PHP) 10MB 이상의 파일중에서 중복된 파일 찾기 PHP가 처음에는 웹프로그래밍을 위해서 만들어졌지만, 지금은 CLI 를 지원함으로써, 일반 General Language 로써의 면모도 갖추고 있다. 그러므로, 시스템 관리/일반 어플리케이션 개발 등에도 널리 활용할 수 있다. 필자는 서버 관리를 주로 하고 있으므로, 시스템 관리를 위한 스크립트를 가끔 작성해야 하는데, 이번에는 PHP로 해보았다. 파일서버 관리를 위해서 주기적으로 오래되거나 필요없는 파일들을 삭제해주어야 하는데, 이 중에서도 중복되는 파일을 제거해주는 것이 꽤 효과적이다. 내가 지울수 있는 권한은 없으니, 중복파일 목록을 사용자들에게 주고 직접 지우도록 하면 그나마 쬐끔 용량을 확보하는데 도움이 된다.아래는 10MB 넘는 파일중에서 중복된 파일을 찾아서 파일에 결과물을 남기도록 하였다... 2011. 5. 4. 이전 1 다음 728x90 반응형