Date: 02 Sep 1999 12:56:06 +0200 From: Dag-Erling Smorgrav <des@flood.ping.uio.no> To: "Rodney W. Grimes" <freebsd@gndrsh.dnsmgr.net> Cc: rgrimes@freebsd.org (Rodney W. Grimes), cvs-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/etc/mtree README Message-ID: <xzp1zchzint.fsf@flood.ping.uio.no> In-Reply-To: "Rodney W. Grimes"'s message of "Sun, 22 Aug 1999 18:38:02 -0700 (PDT)" References: <199908230138.SAA33709@gndrsh.dnsmgr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
"Rodney W. Grimes" <freebsd@gndrsh.dnsmgr.net> writes: > e) Add missing and remove extra entries (producing this last one > is being a bit of a pain, anyone have a quick command to find > directories that have no entries in them?). #!/usr/bin/perl5 -w use strict; sub recurse { my $base = shift; # Where to start my @entries; # Directory listing my $entry; # Iterator for @entries local *DIR; # Directory handle if ($base ne "/") { $base =~ s#/$##; } if (!opendir(DIR, $base)) { die("opendir(): $!\n"); } if (!(@entries = readdir(DIR))) { die("readdir(): $!\n"); } closedir(DIR); if (@entries == 2) { # Contains only . and .., no files or directories warn("$base/\n"); return; } foreach $entry (@entries) { if (-d "$base/$entry" && $entry ne "." && $entry ne "..") { recurse("$base/$entry"); } } } MAIN:{ my $dir; # Iterator if (@ARGV == 0) { die("Syntax: $0 dirname ...\n"); } foreach $dir (@ARGV) { recurse($dir); } exit 0; } DES -- Dag-Erling Smorgrav - des@flood.ping.uio.no To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzp1zchzint.fsf>