Sponsored Content
Full Discussion: du alternative in perl
Top Forums Shell Programming and Scripting du alternative in perl Post 302233882 by jim mcnamara on Monday 8th of September 2008 05:31:30 PM
Old 09-08-2008
du depends heavily on stat - which is POSIX. So writing C code is failry portable,
along with the dirent.h functions

perl implements stat, so that's cake. The other needed calls: closedir, opendir, and readdir to get file names to stat. Both of those are in perl as well.... go for it.

Perl by Example has an example getting all the file names in a directory.

This does something else with stat data as entry-level example code for the forums here, but you can clean it up for your use:

Code:
#!/usr/bin/perl 
    use strict;
	sub numeric;
	sub to_date;
	my @filelist = ();
	my @sortarray = ();
	my $idx = 0;
	my $value = "";
	my $file = "";
	opendir(DIR, "..") || die "can't open $!\n";
	@filelist = readdir(DIR);
	closedir(DIR);

	$idx = 0;
	@sortarray = ();
	foreach $file ( @filelist )
	{
		$sortarray[$idx] = sprintf("%d %s", (stat "../$file")[9], $file);
		$idx++;
	}

	@filelist = sort numeric @sortarray ;
    print "@filelist\n";
	foreach $value ( @filelist )
	{
		print &to_date( $value );
	}

	sub numeric { my @one = split(' ', $a);
		          my @two = split(' ', $b); 
		          return $one[0] <=> $two[0];
		        }
	sub to_date {
		 my @months = ();
		 my $filename = "";
		 my $mtime = 0;
		 my $sec = 0; 
		 my $min = 0; 
		 my $hr = 0;
		 my $mday = 0; 
		 my $mon = 0; 
		 my $yr = 0; 
		 my $wday = 0; 
		 my $yday = 0; 
		 my $dntcare =0;
		 my $retval = "";
		 
		 @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);

         ($mtime, $filename) = split(' ', $_[0]);	     
	     ($sec, $min, $hr, $mday, $mon, $yr, $wday, $yday, $dntcare) =
	         localtime($mtime);
	     $retval = sprintf( "%-10s %3s %02d %4d %02d:%02d:%02d\n",
	         $filename, $months[$mon], $mday, $yr + 1900, $hr, $min, $sec );

         return $retval;
	}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

alternative for mailx

hi i am struggling with mailx command, my command is mailx -a attachment.txt -s "hi this is subject " my_name@domain.com (Interrupt -- one more to kill letter) the control doesn't comes out automatically, i have to press CTRL + C .. why is it happening so ? (1 Reply)
Discussion started by: achneaz1
1 Replies

2. Shell Programming and Scripting

help with while loop or any other alternative?

i=1 while do mm=02 dd=03 yy=2008 echo "$mm$dd$yy" i=$(( i+1)) echo "$i" done whenever i execute the script above i will get the error below: syntax error at line 30: `i=$' unexpected (3 Replies)
Discussion started by: filthymonk
3 Replies

3. Shell Programming and Scripting

Alternative for Cron

Hi... I want to know whether if there is any alternative for cron.:confused: I had written a script which checks for all system/application processes every 15 min(placed in cron though). But looks funny - what if cron daemon isn't running!! and expecting that script to update the OUTPUT FILE... (5 Replies)
Discussion started by: reddybs
5 Replies

4. HP-UX

alternative for egrep -o on HP-UX

Hello to all board members!! I have a problem on a HP-UX system. I should write a script. Therefore I need to search after IP addresses in the output of a command. On Debian this works: ifconfig | egrep -o "{1,3}\.{1,3}\.{1,3}\.{1,3}" The script where i need this is not ifconfig, but... (2 Replies)
Discussion started by: vostro
2 Replies

5. Shell Programming and Scripting

Alternative for wc -l

Hi techies .. This is my first posting hr .. Am facing a serious performance problem in counting the number of lines in the file. The input files i get will be in some 10 to 15 Gb of size or even sometimes more ..and I will load it to db I have used wc -l to confirm whether the loader... (14 Replies)
Discussion started by: rajesh_2383
14 Replies

6. Solaris

vi alternative

Is there any other editor, installed by 'default' in Sparc Solaris10, besides vi? I'd like to avoid installing anything new. If not, how to make vi more user-friendly? thanks. (8 Replies)
Discussion started by: orange47
8 Replies

7. Shell Programming and Scripting

Looking for an alternative to Tcl

I've created quite a collection of tcl scripts which have buttons, radio buttons, check boxes, text fields, etc. These tcl scripts in turn call and execute several hundred sh, csh, bash, perl scripts and pass in the args based on the gui selections on the same and other redhat machines. We're... (4 Replies)
Discussion started by: scottwevans
4 Replies

8. Shell Programming and Scripting

Alternative to Sleep?

Greetings. I've been wondering about this one for some time: Is there an alternative to sleep in bash? The reason: I'd like to simply limit the amount of processor usage in continuous while : script scenarios without spawning endless sleep processes as well. After beating the manpages, I... (14 Replies)
Discussion started by: LinQ
14 Replies

9. Shell Programming and Scripting

Converting shell to Perl I run into shell built in function trap and need alternative in Perl

I am working on converting shell to Perl script. In shell we have built in function trap Do you know alternative in Perl or actually we don't need it? Thanks for contribution (3 Replies)
Discussion started by: digioleg54
3 Replies

10. Cybersecurity

Alternative for chattr

Hello im working on "remover script" which try to remove "kthrotlds MINER VIRUS" in next part of my remover script i have to work on files that it destroyed, virus use chattr to open and lock files and replace them with malicious content im looking for a solution to remove chattr and disable... (9 Replies)
Discussion started by: nimafire
9 Replies
ASP-PERL(1p)						User Contributed Perl Documentation					      ASP-PERL(1p)

NAME
asp-perl - Apache::ASP CGI and command line script processor SYNOPSIS
asp-perl [-hsdb] [-f asp.conf] [-o directory] file1 @arguments file2 @arguments ... -h Help you are getting now! -f Specify an alternate configuration file other than ./asp.conf -s Setup $Session and $Application state for script. -d Set to debug code upon errors. -b Only return body of document, no headers. -o Output directory, writes to files there instead of STDOUT -p GlobalPackage config, what perl package are the scripts compiled in. DESCRIPTION
This program will run Apache::ASP scripts from the command line. Each file that is specified will be run, and the $Request->QueryString() and $Request->Form() data will be initialized by the @arguments following the script file name. The @arguments will be written as space separated words, and will be initialized as an associate array where %arguments = @arguments. As an example: asp-perl file.asp key1 value1 key2 value2 would be similar to calling the file.asp in a web environment like /file.asp?key1=value1&key2=value2 The asp.conf script will be read from the current directory for parameters that would be set with PerlSetVar normally under mod_perl. For more information on how to configure the asp.conf file, please see < http://www.apache-asp.org/cgi.html > SEE ALSO
perldoc Apache::ASP, and also http://www.apache-asp.org COPYRIGHT
Copyright 1998-2004 Joshua Chamas, Chamas Enterprises Inc. This program is distributed under the GPL. Please see the LICENSE file in the Apache::ASP distribution for more information. perl v5.14.2 2011-08-15 ASP-PERL(1p)
All times are GMT -4. The time now is 10:27 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy