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
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.
Determining Div Location
I generally get the location and dimension numbers of a div with the JavaScript getBoundingClientRect() function. Then access the numbers I need from the function's return value.
Site-wide Login System
A site-wide log-in system that lets pretty much any directory be password protected.
Image Show
With the no-custimizations-required script, it is now relatively easy to show off a series of images on your web page.
A Variables Dump
This PHP function returns details about the variable that is being dumped.