주어진 경로 에서 주어진 모드 에 맞 는 파일 을 검색 하고 압축 파일 을 진행 합 니 다.
내 장 된 zlib 모듈 은 gzip 파일 을 처리 하 는 데 도움 을 줄 수 있 으 며,대부분의 경우 에 충분 합 니 다.여기 서 나 는 또 다른 좋 은 Ruby 라 이브 러 리,즉"ruby zip"을 사용 하여 zip 압축 파일 을 만 들 고 처리 할 것 이다.
rubyzip 설치
gem install rubyzip
require 'find'
require 'zip/zip'
puts ""
puts "------------------File Search and Zip-----------------------------"
puts ""
print "Enter the search path : "
searchpath = gets
searchpath = searchpath.chomp
puts ""
print "Enter the search pattern : "
pattern = gets
pattern = pattern.chomp
puts"----------------------------------------------------------------------"
puts "Searching in " + searchpath + " for files matching pattern " + pattern
puts"----------------------------------------------------------------------"
puts ""
puts"----------------------------------------------------------------------"
puts "Zipping up the found files..."
puts"----------------------------------------------------------------------"
Zip::ZipFile.open("test.zip", Zip::ZipFile::CREATE) {|zipfile|
Find.find(searchpath) do |path|
if FileTest.directory?(path)
if File.basename(path)[0] == ?.
Find.prune
else
next
end
else
if File.fnmatch(pattern, File.basename(path))
puts File.basename(path)
zipfile.add(File.basename(path), path) # zip
end
end
end
}
명령 행 에 ruby zip.rb 를 입력 하여 이 파일 을 실행 한 다음 검색 경로 D:\ruby 와 일치 하 는 모드*.rb 를 입력 하 십시오.다음은 예제 출력 입 니 다.
-----------------------File Search and Zip-----------------------------------
Enter the search path : D:\ruby
Enter the search pattern : *.rb
----------------------------------------------------------------------
Searching in D:\ruby for files matching pattern *.rb
----------------------------------------------------------------------
----------------------------------------------------------------------
Zipping up the found files...
----------------------------------------------------------------------
points_controller.rb
packages_controller.rb
orders_controller.rb
이렇게 해서 현재 디 렉 터 리 에 test.zip 파일 이 생 겼 습 니 다.
현재 unzip-l test.zip 를 입력 하여 압축 을 푸 십시오.다음은 예제 출력 입 니 다.
Archive: test.zip
Length Date Time Name
-------- -------- ------ -------------------
2341 11-25-09 17:05 orders_controller.rb
21000 11-25-09 17:05 packages_controller.rb
12889 11-25-09 17:05 points_controller.rb
-------- -------------------
36230 3 files
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ruby의 단일 메소드 및 단일 클래스 상세 정보단일 방법 Ruby는 단일 객체에만 적용되는 단일 객체 추가 방법을 단일 방법이라고 합니다. 또한 위에서 사용한 정의 방법 외에 Object#define_를 통해singleton_method 방법으로 단일 방법 정의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.