Works for me on linux. You might also try using, find2perl which helps you construct a script to do this sort of thing. Here is sample output from running
% find2perl -name "*.txt"
I edited the wanted function adding the && print $name,"\n";
#! /usr/bin/perl -w
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; #$running_under_some_shell
use strict;
use File::Find ();
# Set the variable $File::Find::dont_use_nlink if you're using AFS,
# since AFS cheats.
# for the convenience of &wanted calls, including -eval statements:
use vars qw/*name *dir *prune/;
*name = *File::Find::name;
*dir = *File::Find::dir;
*prune = *File::Find::prune;
# Traverse desired filesystems
File::Find::find({wanted => \&wanted}, '.');
exit;
sub wanted {
/^.*\.txt\z/s && print $name,"\n";
}
|