- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个包含许多 zip 文件的文件夹。我需要获取这些 zip 文件中的任何一个,将其解压缩并从压缩文件中获取特定文件。我为此使用 IO::Uncompress::Unzip 模块。我的 perl 脚本如下:
#!usr/bin/perl
use IO::Uncompress::Unzip qw(unzip $UnzipError);
use strict;
my $propath ="/home/test/prroot/Projects/";
my $proj = "/home/Ras/projectroot/projects.txt";
my @projlist = `cat $proj`;
foreach my $pr(@projlist){
chomp($pr);
my $projname = $pr;
my $projtemp = $pr;
$projname =~ s/ /\_/g;
my $replace1 = "%28"; #escaping special characters from project name
my $replace2 = "%29";
my $replace3 = "%26";
my $replace4 = "%2C";
$projname =~ tr/ /_/;
$projname =~ s/\(/$replace1/g;
$projname =~ s/\)/$replace2/g;
$projname =~ s/\&/$replace3/g;
$projname =~ s/\,/$replace4/g;
chomp($projname);
my $dir = $propath.$projname;
chomp($dir);
my @res = glob "$dir/*.zip";
my @res1 = split '/',$res[$#res];
my $out = chdir $dir;
my $input = "$res1[$#res1]";
my $output = "/home/Ras/projectroot/xmlres/result$projname.xml";
my $status = unzip $input => $output, Name => "data";
}
文件/home/Ras/projectroot/projects.txt 包含100 多个项目名称。对于每个项目名称,路径/home/test/prroot/Projects/下都有一个文件夹。在 projectname 文件夹中有 zip 文件。我需要从 zip 文件中读取名为 data 的特定文件。我能够将 13 个文件的输出读取为/home/Ras/projectroot/xmlres/result$projname.xml。但在那之后没有结果。请帮我解决这个问题。
最佳答案
'因为我不知道您的数据是什么样子,所以我在这里提供了一个稍微改进的脚本版本(添加了错误处理)。
#!usr/bin/perl
use IO::Uncompress::Unzip qw(unzip $UnzipError);
use File::Find;
use strict;use warnings;
my $propath ="/home/test/prroot/Projects/";
my $proj = "/home/Ras/projectroot/projects.txt";
my $output_dir = "/home/Ras/projectroot/xmlres/";
my @projlist = `cat $proj`;
my $projname;
foreach my $pr (@projlist){
chomp($pr);
$projname = $pr;
$projname =~ s/ /\_/g;
$projname =~ tr/ /_/;
$projname =~ s/\(/%28/g;
$projname =~ s/\)/%29/g;
$projname =~ s/\&/%26/g;
$projname =~ s/\,/%2C/g;
print "$dir\n";
find({ wanted => \&find_zip}, $dir);
}
sub find_zip {
my $filename = $File::Find::name;
print "$filename\n";
if ($filename =~ /zip$/ ) {
unless( unzip $filename => $output_dir.'result'.$projname.'.xml', Name => "data" ) {
warn "$filename: $UnzipError";
}
}
}
关于linux - 为什么我收到 IO::Uncompress::Unzip::unzip: input filename is undef or null string 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41178571/
我想通过算法生成 X MBytes 的“不可压缩”数据序列。我希望以这种方式创建一个通过 VPN 连接测量网络速度的程序(避免 vpn 内置压缩)。 有谁能够帮助我?谢谢! 附注。我需要一个算法,我使
我是 jquery 新手,我可以用它进行简单的编码。我想更多地了解这些文件“缩小”“未压缩”以及何时应该使用每个文件? 最佳答案 每个文件的缩小版本和压缩版本只是在具有相同功能的情况下缩小尺寸的版本。
我正在尝试将我的 Flutter 包上传到 pub.dev。 Dry Run 工作正常,没有显示错误。但是,当我将相同的包上传到 pub.dev 时,上传失败并显示“未压缩的包存档太大(大小 > 10
我存储了 MySQL Compress 函数,用于将压缩的 blob 数据插入数据库。 在上一个问题中,我被指示使用 func.compress ( mysql Compress() with sql
我做了一个简单的函数,它接受一个 gzip 文件,然后提取到某个地方。出于测试目的,我使用了一个文本文件,该文件已通过通用实用程序 gzip 压缩。但出于某种原因 Uncompress()返回错误 Z
我正在编写基于 Qt 的客户端应用程序。它使用 QTcpSocket 连接到远程服务器。在发送任何实际数据之前,它需要发送登录信息,这是 zlib 压缩的 json。 据我从服务器源知道的那样,为了使
我希望使用 Perl 模块 IO::Uncompress::AnyUncompress,记录在这里:http://perldoc.perl.org/IO/Uncompress/AnyUncompres
我目前正在使用核心模块 IO::Uncompress::Unzip 读取 Perl 中的 zip 文件的内容。我以前使用过 Archive::Zip,这是一个很棒的模块,并没有让我头疼,但它没有作为核
我尝试在 64 位 Linux 上为 32 位 Linux 版本交叉编译我的程序对于其他系统,它工作正常(win、ios 和 android,但不适用于 linux……) 98% 存在错误 “unde
我是 Emacs 的新手,所以这可能是一个非常幼稚的问题,但我似乎找不到任何相关信息。 基本问题似乎是我无法打开任何“信息”主题。 当我尝试打开它们中的任何一个时出现的错误是: Uncompressi
根据mysql和mariadb docs如果使用 compress() 压缩了输入字符串,uncompress() 将返回一个字符串。 例子中也说明了: SELECT UNCOMPRESS(COMPR
如何使用 mysql 的 compress() 和 uncompress() 函数在存储文本之前压缩文本,并在使用带有 ORM hibernate 模式的 mysql 数据库检索文本时解压缩文本? 最
我在将内核从旧版 SH4 移植到新版 SH4 时遇到了问题。请让我展示一下它们之间的区别。 [老款SH4] 引导装载程序:redboot v2.0 内核版本:2.4 [新SH4] 引导加载程序:u-b
zlib库(zlib版本1.2.3)中有一些函数可以解压 我想使用 uncompress 函数解压我的源 zip (.gz) 文件。它不工作(错误代码 -3)但 gzopen 是。当我输入有效负载指针
我是 Perl 编程新手。 我有一个 8GB 的 zip 文件,其中包含数据文件和元数据文件。目标是读取元数据文件的内容以与 zip 中的数据文件名进行比较。 当前的实现是使用IO::Uncomp
我是 Perl 编程新手。 我有一个 8GB 的 zip 文件,其中包含数据文件和元数据文件。目标是读取元数据文件的内容以与 zip 中的数据文件名进行比较。 当前的实现是使用IO::Uncomp
我们正在从当前的构建系统(一团糟)转向使用 Ant 和 Ivy 的系统。我正在清理所有构建文件,并找到 jar 依赖项。我认为如果我可以稍微自动化一下,通过检查 checkin 项目的 jar,找到它
所以我将一些 XML 存储在表中,并使用 MySQL 的“COMPRESS”函数,如下所示: $query = "SELECT UNCOMPRESS(table_row) FROM database
我正在尝试创建一个解压缩 LZAM2 压缩数据的函数。我的灵感来自 this tutorial这对 LZMA 非常有效,我尝试将其改编为 LZMA2。我成功地为 LZMA2 创建了压缩函数,但我没有成
我似乎无法获得 Flex 3 想要解压缩的流。 我试过: System.IO.Compression.GZipStream System.IO.Compression.DeflateStream IC
我是一名优秀的程序员,十分优秀!