You seem to forget the -exec option of the cleartool find command.
It actually does allow you to execute other commands than cleartool ones, including system ones (like a sh or DOS script).
I know you would "prefer not to execute another command", but if that other system script is part of the exec option of a find command... it can be argued it is still one command ;)
So create a simple script like:
(Unix 'print.sh')
#!/bin/sh
if [ $1 != $2 ] ; then
echo $1
fi
(windows 'print.bat')
@echo off
if not "%1"=="%2" echo "%1"
Put that script either in your search directory, or add the script path to your %PATH% or $PATH environment.
And finally, use the find command (with all the other options regarding date filtering, branch filtering and so on)
(Unix)
cleartool find . -nrec -type f -exec './print.sh $CLEARCASE_PN ./pom.xml'
(windows)
cleartool find . -nrec -type f -exec "print.bat %CLEARCASE_PN% .\pom.xml"
And here you go: "all files in a directory that do not have the name pom.xml".
Note: the '-type f' option of the find command allows you to restrict the search to file names only (not directory names).