Sponsored Content
Full Discussion: du alternative in perl
Top Forums Shell Programming and Scripting du alternative in perl Post 302233832 by insania on Monday 8th of September 2008 03:20:10 PM
Old 09-08-2008
du alternative in perl

I have a perl script that just does a `du -sk -x` and formats it to look groovy ( the argument can be a directory but usually is like /usr/local/* )

Code:
#!/usr/bin/perl

use strict;
use warnings;

my $sizes = `du -x -sk @ARGV | sort -n`;
my $total = 0;

print "MegaBytes Name\n";
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)
        my $number1 = sprintf ("%9.2f",$number / 1024);
        printf "$number1 $file\n";
        $total += $number;
}

printf ("TOTAL: %9.2f\n",$total / 1024);

The script works fine and does all that i want it to and i use it all the time, however is there an internal perl function that could replace the du -sk -x? I am just curious and would like to have a pure perl script with no shell options (primarily because the du options are not standard across the UNIX/Linux world). This is on a RHEL box just FYI. An external module might work too, if i can get them to let me install it.

Sean
 

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
PEGASUS-CONFIG(1)														 PEGASUS-CONFIG(1)

NAME
pegasus-config - The authority for where parts of the Pegasus system exists on the filesystem. pegasus-config can be used to find libraries such as the DAX generators. SYNOPSIS
pegasus-config [-h] [--help] [-V] [--version] [--noeoln] [--perl-dump] [--perl-hash] [--python-dump] [--sh-dump] [--bin] [--conf] [--java] [--perl] [--python] [--python-externals] [--schema] [--classpath] [--local-site] [--full-local] DESCRIPTION
pegasus-config is used to find locations of Pegasus system components. The tool is used internally in Pegasus and by users who need to find paths for DAX generator libraries and schemas. OPTIONS
-h, --help Prints help and exits. -V, --version Prints Pegasus version information --perl-dump Dumps all settings in perl format as separate variables. --perl-hash Dumps all settings in perl format as single perl hash. --python-dump Dumps all settings in python format. --sh-dump Dumps all settings in shell format. --bin Print the directory containing Pegasus binaries. --conf Print the directory containing configuration files. --java Print the directory containing the jars. --perl Print the directory to include into your PERL5LIB. --python Print the directory to include into your PYTHONLIB. --python-externals Print the directory to the external Python libraries. --schema Print the directory containing schemas. --classpath Builds a classpath containing the Pegasus jars. --noeoln Do not produce a end-of-line after output. This is useful when being called from non-shell backticks in scripts. However, order is important for this option: If you intend to use it, specify it first. --local-site [d] Create a site catalog entry for site "local". This is only an XML snippet without root element nor XML headers. The optional argument "d" points to the mount point to use. If not specified, defaults to the user's $HOME directory. --full-local [d] Create a complete site catalog with only site "local". The an XML snippet without root element nor XML headers. The optional argument "d" points to the mount point to use. If not specified, defaults to the user's $HOME directory. EXAMPLE
To set the PYTHONPATH variable in your shell for using the Python DAX API: export PYTHONPATH=`pegasus-config --python` To set the same path inside Python: config = subprocess.Popen("pegasus-config --python-dump", stdout=subprocess.PIPE, shell=True).communicate()[0] exec config To set the PERL5LIB variable in your shell for using the Perl DAX API: export PERL5LIB=`pegasus-config --perl` To set the same path inside Perl: eval `pegasus-config --perl-dump`; die("Unable to eval pegasus-config output: $@") if $@; will set variables a number of lexically local-scoped my variables with prefix "pegasus_" and expand Perl's search path for this script. Alternatively, you can fail early and collect all Pegasus-related variables into a single global %pegasus variable for convenience: BEGIN { eval `pegasus-config --perl-hash`; die("Unable to eval pegasus-config output: $@") if $@; } AUTHOR
Pegasus Team http://pegasus.isi.edu 05/24/2012 PEGASUS-CONFIG(1)
All times are GMT -4. The time now is 08:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy