gpt4 book ai didi

perl - 使用 Perl 删除目录和子目录中具有给定扩展名的文件

转载 作者:行者123 更新时间:2023-12-01 07:40:28 25 4
gpt4 key购买 nike

我是 Perl 新手。我正在尝试删除目录 (A) 及其所有子目录 (B,C) 中具有特定扩展名的所有文件。我已经学会了如何为给定的目录这样做,但不是递归的。那就是下面的工作在 A 目录中而不是在 B、C 子目录中。

use strict;    
use warnings;
my $dir = "~/A/";
unlink glob "$dir/*.log";

我试过
use strict;
use warnings;
use File::Find;
my $dir = "~/A";
find(\&wanted, $dir);
sub wanted {
unlink glob "*.log";
}

但后来我收到一条消息: Can't stat ~/A: No such file or directory .虽然目录在那里。任何提示?
马里奥

最佳答案

试试 $ENV{"HOME"}而不是 ~这是特定于 shell 的,

use strict;    
use warnings;
my $dir = "$ENV{HOME}/A";
unlink glob "$dir/*.log";

关于perl - 使用 Perl 删除目录和子目录中具有给定扩展名的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16771327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com