projects
/
clearscm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added code for Macs
[clearscm.git]
/
bin
/
bigfiles.pl
diff --git
a/bin/bigfiles.pl
b/bin/bigfiles.pl
index
1918de1
..
a020f19
100755
(executable)
--- a/
bin/bigfiles.pl
+++ b/
bin/bigfiles.pl
@@
-2,11
+2,11
@@
################################################################################
#
# File: $RCSfile: bigfiles.pl,v $
################################################################################
#
# File: $RCSfile: bigfiles.pl,v $
-# Revision: $Revision: 1.3 $
+# Revision:
$Revision: 1.3 $
# Description: Reports large files
# Author: Andrew@DeFaria.com
# Created: Mon May 24 09:09:24 PDT 1999
# Description: Reports large files
# Author: Andrew@DeFaria.com
# Created: Mon May 24 09:09:24 PDT 1999
-# Modified: $Date: 2011/04/18 05:15:29 $
+# Modified:
$Date: 2011/04/18 05:15:29 $
# Language: Perl
#
# (c) Copyright 2001, ClearSCM, Inc., all rights reserved
# Language: Perl
#
# (c) Copyright 2001, ClearSCM, Inc., all rights reserved
@@
-36,14
+36,16
@@
sub Usage {
} # usage
sub Bigfiles {
} # usage
sub Bigfiles {
- my $size
= shift;
- my @dirs
= @_;
+ my $size = shift;
+ my @dirs = @_;
my @files;
foreach (@dirs) {
next if !-d "$_";
my @files;
foreach (@dirs) {
next if !-d "$_";
- my $cmd = "find \"$_\" -xdev -type f -size +$size -exec ls -lLG {} \\;";
+
+ my $lsOpts = $ARCHITECTURE eq 'solaris' ? '-loL' : '-lLG';
+ my $cmd = "find \"$_\" -xdev -type f -size +$size -exec ls $lsOpts {} \\;";
my @lines = `$cmd`;
foreach (@lines) {
my @lines = `$cmd`;
foreach (@lines) {
@@
-52,11
+54,12
@@
sub Bigfiles {
my %info;
#if (/\S+\s+\d+\s+(\S+)\s+(\d+).*\"\.\/(.*)\"/) {
my %info;
#if (/\S+\s+\d+\s+(\S+)\s+(\d+).*\"\.\/(.*)\"/) {
- if (/\S+\s+\d+\s+(\S+)\s+\S+ \S+\s+(\d+)\s+\S+\s+\d+\s+\S+\s+(\S+)/){
- $info {user} = $1;
- $info {filesize} = $2;
- $info {filename} = $3;
- push @files, \%info;
+ if (/\S+\s+\d+\s+(\S+)\s+(\d+)\s+\S+\s+\S+\s+\d+\s+(.*)/) {
+ $info {user} = $1;
+ $info {filesize} = $2;
+ $info {filename} = $3;
+
+ push @files, \%info;
} # if
} # foreach
} # foreach
} # if
} # foreach
} # foreach
@@
-64,12
+67,14
@@
sub Bigfiles {
return @files;
} # Bigfiles
return @files;
} # Bigfiles
-my $lines = defined $ENV {LINES} ? $ENV {LINES} :-24;
-my $top = $lines - 2;
-my $bytes_in_meg = 1048576;
-my $block_size = 512;
-my $size_in_meg = 1;
-my %opts;
+my $lines = $ENV{LINES} || 24;
+my $top = $lines - 2;
+my $bytes_in_meg = 1048576;
+my $block_size = 512;
+my $size_in_meg = 1;
+my %opts = (
+ size => 1
+);
my $result = GetOptions (
\%opts,
my $result = GetOptions (
\%opts,
@@
-80,22
+85,26
@@
my $result = GetOptions (
'size=i',
);
'size=i',
);
-my @dirs = @ARGV
? @ARGV : "."
;
-
-my
$size = $opts {size} ? $opts {size} * $bytes_in_meg / $block_size : 4096
;
+my @dirs = @ARGV
> 0 ? @ARGV : '.'
;
+my $size = $opts{size} ? $opts{size} * $bytes_in_meg / $block_size : 4096;
+my
@files
;
# Now do the find
# Now do the find
-verbose "Directory:\t$_"
- foreach (@dirs);
-verbose "Size:\t\t$size_in_meg Meg ($size blocks)";
-verbose "Top:\t\t$top";
+verbose "Directory:\t@dirs";
+
+for (@dirs) {
+ verbose "Size:\t\t$opts{size} Meg ($size blocks)";
+ verbose "Top:\t\t$top";
-my $head = $top ? "cat" : "head -$top";
+
my $head = $top ? "cat" : "head -$top";
-my @files = Bigfiles $size, @dirs;
+ @files = Bigfiles $size, @dirs;
+} # for
-for
each (
@files) {
+for
(sort {$b->{filesize} <=> $a->{filesize}}
@files) {
my %info = %{$_};
my %info = %{$_};
+ last if $top-- == 0;
+
print "${info {filesize}}\t${info {user}}\t${info {filename}}\n";
print "${info {filesize}}\t${info {user}}\t${info {filename}}\n";
-} # for
each
+} # for