summaryrefslogtreecommitdiff
path: root/eg/down
diff options
context:
space:
mode:
Diffstat (limited to 'eg/down')
-rw-r--r--eg/down30
1 files changed, 30 insertions, 0 deletions
diff --git a/eg/down b/eg/down
new file mode 100644
index 0000000000..bbb0d062cb
--- /dev/null
+++ b/eg/down
@@ -0,0 +1,30 @@
+#!/usr/bin/perl
+
+$| = 1;
+if ($#ARGV >= 0) {
+ $cmd = join(' ',@ARGV);
+}
+else {
+ print "Command: ";
+ $cmd = <stdin>;
+ chop($cmd);
+ while ($cmd =~ s/\\$//) {
+ print "+ ";
+ $cmd .= <stdin>;
+ chop($cmd);
+ }
+}
+$cwd = `pwd`; chop($cwd);
+
+open(FIND,'find . -type d -print|') || die "Can't run find";
+
+while (<FIND>) {
+ chop;
+ unless (chdir $_) {
+ print stderr "Can't cd to $_\n";
+ next;
+ }
+ print "\t--> ",$_,"\n";
+ system $cmd;
+ chdir $cwd;
+}