gpt4 book ai didi

linux - 如何使用 File::stat 模块在 Perl 中查找文件夹大小?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:48 24 4
gpt4 key购买 nike

下面是使用 File::stat 查找文件大小的 Perl 脚本模块:

#!/usr/bin/perl

use strict;
use warnings;

use File::stat;

my $directory = "/home/dinkar/index.html";

my $dirStats = stat($directory);
my $size = $dirStats->size;

printf("Size of %s: %d", $directory, $size);
printf("\n");

我得到了正确的文件大小输出,但此代码无法找到文件夹大小。它只计算文件夹内的文件数。例如,如果文件夹 /home/dinkar 中有八个文件,我得到的文件夹输出为 8,这是错误的。

我想在 Perl 中使用 File::stat 模块 查找文件夹大小。请帮忙。

最佳答案

File::stat模块只不过是内置 stat 运算符的更易于访问的接口(interface)。由于 stat 不提供检索目录“大小”的方法,File::stat 也不提供。

目录大小的意思是它包含的所有文件的大小的总和,或者递归在它下面的目录中的所有文件的大小的总和。你必须手动计算,最好的工具可能是 File::Find .

这个程序演示

use strict;
use warnings;
use 5.010;

use File::Find;

my $total;

find(sub { $total += -s if -f }, '/home/dinkar');

say $total;

如果要测量的文件很多,那么这可能需要几秒钟才能完成。

关于linux - 如何使用 File::stat 模块在 Perl 中查找文件夹大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28341724/

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