linux - 如何使用 PERL 将多个 *.tgz 文件提取到多个目录?

标签 linux perl tar

我正在学习 PERL 语言。 我已经强制(并且有点困惑)提取 *.tgz 文件的问题。 我想达到的目的是将多个 *.tgz 文件提取到多个文件夹。

于是结构就来了:

first.tgz
sec.tgz
third.tgz
...
n.tgz

我想将这些文件提取到目录中:

first (extracted first.tgz)
sec (extracted sec.tgz)
thidrd (extracted third.tgz)
etc.

有人可以帮我解决这个问题,或者给出一些实现方法的提示吗?

最佳答案

atool :

use autodie qw(:all);
use Path::Tiny qw(path);
for my $archive (qw(first.tgz sec.tgz third.tgz n.tgz)) {
    my $basename = path($archive)->basename('.tgz');
    path($basename)->mkpath;
    system qw(aunpack -X), $basename, $archive;
}

关于linux - 如何使用 PERL 将多个 *.tgz 文件提取到多个目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56987843/

相关文章:

ruby-on-rails - Docker - 无法转发交互式 shell 的端口

c - 如何在 c 中为每个函数调用创建新线程

c - shell 实现 : signal handling: Any way to return early from wait()?

Python 2.7.3 : Copying symlinks, 但不跟

javascript - 从 tar 打包到 webhdfs 错误的 NodeJS 管道

java - 使用 apache commons 从 tar 中解压缩文件 - 问题是重复条目

perl - 我可以使用 XML::Simple 返回经过解析的 XML 路径吗?

regex - 在 Perl 中,如何删除不在双引号 ""内的所有空格?

Perl 模块加载 - 防止 : perhaps you forgot to load "Bla"?

file - tar 排除文件模式