Ruby - 列出 tar.gz 存档中的文件

use*_*647 4 ruby

我需要列出 .tar.gz 存档中的文件,而不解压缩该存档。我查看了 zlib 库,但找不到列出文件的方法,只能显示文件的内容。

如何只列出存档中的文件?

这是我的代码:

require 'zlib'

Zlib::GzipReader.open("archive.tar.gz") do |entry|
  entry.each { |e| # what's the method? }
end
Run Code Online (Sandbox Code Playgroud)

BMW*_*BMW 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
Run Code Online (Sandbox Code Playgroud)