我需要在.tar.gz存档中列出文件,而不解压缩存档。我查看了zlib库,但是我找不到列出文件的方法,只显示文件的内容。
如何仅列出档案中的文件?
这是我的代码:
require 'zlib'
Zlib::GzipReader.open("archive.tar.gz") do |entry|
entry.each { |e| # what's the method? }
end
答案 0 :(得分:3)
require 'rubygems/package'
require 'zlib'
tar_extract = Gem::Package::TarReader.new(Zlib::GzipReader.open('archive.tar.gz'))
tar_extract.rewind # The extract has to be rewinded after every iteration
tar_extract.each do |entry|
if entry.file?
puts entry.full_name
end
end
tar_extract.close