Ruby - 列出 tar.gz 压缩包内的文件

4
我需要列出 .tar.gz 压缩包中的文件列表,而不需要解压缩它。我查阅了 zlib 库,但是没有找到列出文件列表的方法,只有显示文件内容的方法。
请问我如何列出压缩包中的文件列表呢?
以下是我目前的代码:
require 'zlib'

Zlib::GzipReader.open("archive.tar.gz") do |entry|
  entry.each { |e| # what's the method? }
end
1个回答

5
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接