Subversion Repositories svn.Prod repos

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1 → Rev 2

/filefind/ruby/filefind.rb
0,0 → 1,71
#!/usr/bin/env ruby19
# =============================================================================
# Create
# name : Andre Rikkert de Koe date: apr 2011
# descr : filefind
# This is a demo of programming in the ruby language.
# Its part of a project to implement a program to create a directory
# tree similar to the output of the Unix find program.
# EUID : Any user who has read access to all the files being searched for.
# run : interactive
#
# Changes
# name : date:
# descr : short description
#
# =============================================================================
 
# =============================================================================
# Functions
# =============================================================================
 
def Usage(progname, mesg)
puts "Usage : #{progname} directory"
puts mesg
end
 
#
# dir is directory to traverse
#
def traverse(dir)
curdir = Dir.getwd
Dir.chdir(dir)
curdir2 = Dir.getwd
Dir.foreach(Dir.getwd) { | file |
pfile = curdir2 + "/" +file
if File.directory?(file) && !File.symlink?(file)
if (file != "..") && (file != ".")
puts pfile
traverse(file)
end
else
if File.file?(file) || File.symlink?(file)
puts "#{pfile}"
else
puts "WARNING: Could not process file $pfile"
end
end
}
Dir.chdir(curdir)
end
 
def start_traverse(directory)
puts directory
traverse(directory)
end
 
# =============================================================================
# MAIN
# =============================================================================
 
progname = File.basename($0)
if (ARGV.length == 1)
directory = ARGV[0]
if File.directory?(directory)
start_traverse(directory)
else
Usage progname, "ERROR: No directory #{directory} found"
end
else
Usage progname, "ERROR: 1 argument expected"
end
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/filefind/ruby/Makefile
0,0 → 1,15
 
DIR = /home/arikkert
 
test: filefind.rb
./filefind.rb $(DIR) > result
sort result > result.sort
find $(DIR) > result2
sort result2 > result2.sort
wc *.sort
diff *.sort
 
clean:
rm -f filefind
rm -rf result result.sort
rm -rf result2 result2.sort