使用 ruby​​ 解压缩(zip、tar、tag.gz)文件

2024-04-19

我想解压很多 zip 文件。是否有模块或脚本可以检查 zip 文件的格式并对其进行解压缩? 这应该适用于Linux,我不关心其他操作系统。


要从 .tar.gz 文件中提取文件,您可以使用随 Ruby 分发的包中的以下方法:

require 'rubygems/package'
require 'zlib'
tar_extract = Gem::Package::TarReader.new(Zlib::GzipReader.open('Path/To/myfile.tar.gz'))
tar_extract.rewind # The extract has to be rewinded after every iteration
tar_extract.each do |entry|
  puts entry.full_name
  puts entry.directory?
  puts entry.file?
  # puts entry.read
end
tar_extract.close

每个条目类型Gem::Package::TarReader::Entry http://www.ruby-doc.org/stdlib-1.9.3/libdoc/rubygems/rdoc/Gem/Package/TarReader/Entry.html指向 .tar.gz 文件中的文件或目录。

可以使用类似的代码(将 Reader 替换为 Writer)将文件写入 .tar.gz 文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ruby​​ 解压缩(zip、tar、tag.gz)文件 的相关文章

随机推荐