Using Perl and Unix Commands To Find Directory Sizes
Phil Tanny asked a question recently-
After mentioning there might be a handy Unix command to find total sizes of files in a directory, Phil did some research and provided good working examples for readers.
The examples not only show how to get file and directory sizes, they also show how to call Unix commands from within a Perl script. It's a great learning post.
I'll add just one thing, a method of adding up the total sizes of files when a list is returned by the Unix command.
When the command returns a list of files and sizes (instead of just a total size for a directory), the return is a list of lines, two tab-separated fields per line. The first field is the file size, the second the file or directory name.
The following snippet will calculate the total Perl module (*.pm) file sizes in the cgi-bin directory (change the path to the one for your server):
my $sizes = `du -sk /home/domain/public_html/cgi-bin/*.pm`;
my $total = 0;
for(split /[\r\n]+/,$sizes) # split on one or more newline characters
{
my($number,$file) = split /\t/,$_,2; # split on tab ($file not used here)
$total += $number;
}
print 'Total: '.$total;
Will Bontrager
Was this blog post helpful to you?
(anonymous form)
All information in WillMaster Blog articles is presented AS-IS.
We only suggest and recommend what we believe is of value.
As remuneration for the time and research involved to provide quality links,
we generally use affiliate links when we can.
Whenever we link to something not our own, you should assume
they are affiliate links or that we benefit in some way.
Recent Articles in the Library
The HTML address Tag
The address tag is used to present an address to the site user. It also makes the address available to website search engines.
Rotate
The CSS 'rotate' property is a versatile way to rotate elements.
Building a URL to Self With PHP
PHP has all the parts to build the URL it was accessed with.
Easier Field Information Change
How to "select the field when the field is tapped into" for your own forms.
File Uploader
This file uploader is complete as one PHP script. No external modules or classes are required. Optional login for private use.
Fun Jumper
This fun jumper is easy to implement. Paste the code into one of your web pages. When you are ready to define your own content, replace the image tag.
The HTML optgroup Tag
The HTML <optgroup> tag allows you to group items in a dropdown list.