Subversion Repositories svn.Prod repos

Compare Revisions

No changes between revisions

Ignore whitespace Rev 56 → Rev 57

/filefind/groovy/Makefile
0,0 → 1,18
SRC=filefind.groovy
PRG=$(SRC)
DIR=/var/tmp
.PHONY: test cleantest
 
all: test
 
test:
./$(PRG) $(DIR) > result
sort result > result.sort
find $(DIR) > result2
sort result2 > result2.sort
wc *.sort
diff *.sort
 
cleantest:
rm -f result result.sort
rm -f result2 result2.sort
/filefind/groovy/filefind.groovy
0,0 → 1,55
#!/usr/bin/env groovy
 
// ============================================================================
// Create
// name : Andre Rikkert de Koe with ChatGPT date: Jul 2026
// descr : filefind
// Groovy implementation of the original Pascal filefind program.
//
// run : interactive
//
// ============================================================================
 
def progname = new File(args ? args[0] : 'filefind').name
 
// ============================================================================
// Functions
// ============================================================================
 
def usage = { String message ->
println "Usage: ${progname} directory"
println message
}
 
def traverse
 
traverse = { File directory ->
directory.eachFile { File file ->
println file.absolutePath
 
if (file.isDirectory()) {
traverse(file)
}
}
}
 
def startTraverse = { File directory ->
println directory.absolutePath
traverse(directory)
}
 
// ============================================================================
// Main
// ============================================================================
 
if (args.size() == 1) {
File directory = new File(args[0])
 
if (directory.isDirectory()) {
startTraverse(directory)
} else {
usage("ERROR: Not a directory : ${args[0]}")
}
} else {
usage("ERROR: 1 argument expected")
}
Property changes:
Added: svn:executable
+*
\ No newline at end of property