首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用perl解压tar.gz文件

使用perl解压tar.gz文件
EN

Stack Overflow用户
提问于 2013-04-30 16:27:01
回答 3查看 4K关注 0票数 0

我有一个tar.gz文件,里面有一个很大的XML。我需要在perl中使用Archive::tar解压缩文件...我使用了下面的代码,它只从tar.gz文件中提取压缩的XML文件。但我还需要在一个步骤中提取XML ...我正在使用下面的代码...

代码语言:javascript
运行
复制
 TAR__PATH= 'C:\\Perl\IN\Work\tar_file_20130426.xml.tar
 my $extract_obj = Archive::Extract->new(archive => $TAR_FILE_WORK_PATH, type => 'tar');
EN

回答 3

Stack Overflow用户

发布于 2013-04-30 16:59:12

使用下面的代码;

代码语言:javascript
运行
复制
use Archive::Tar;

my $tar=Archive::Tar->new();

$tar->read('/path/of/tar/test.tar.gz');
$tar->extract();

它将提取当前路径中的内容。希望它能行得通。

票数 0
EN

Stack Overflow用户

发布于 2013-04-30 20:03:55

当Archive::Tar将整个归档文件加载到内存中时,您可能希望对tar执行系统调用(在完成之前对其进行反标记,并给出结果

一些类似的东西

代码语言:javascript
运行
复制
my $ret = `tar zxf $TAR_FILE_WORK_PATH`;

然后检查$ret是否成功。

您可以使用详细( -v )选项获得更多输出,以便签入$ret

大多数tar命令都有一个-C选项,用于解压缩到指定的目录,这也很有用。

票数 0
EN

Stack Overflow用户

发布于 2014-06-05 15:26:29

如果是放在tar.gz中的.xml,这里是使用Archive::Extract的另一个实现。在单行形式中

代码语言:javascript
运行
复制
perl -MArchive::Extract -e "Archive::Extract->new( archive => 'src/PPM-2.50_01.tar.gz' )->extract()"

在源代码形式中:

代码语言:javascript
运行
复制
use Archive::Extract;

Archive::Extract->new( archive => 'src/PPM-2.50_01.tar.gz' )->extract();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16295369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档