find -prune prunes find's search tree at the current pathname. Here are a couple of aliases that use -prune to search for files in the current directory. The first one, named find. (with a dot on the end of its name, to remind you of ., the relative pathname for the current directory), simply prints names with -print. The second alias gives a listing like ls -gilds. You can add other find operators to the command lines to narrow your selection of files. The aliases work like this:
% find. -mtime -1 ./afile ./cfile % find.ls -mtime -1 43073 0 -r-------- 1 jerry ora 0 Mar 27 18:16 ./afile 43139 2 -r--r--r-- 1 jerry ora 1025 Mar 24 02:33 ./cfile
The find. alias is handy inside backquotes, feeding a pipe, and other places you need a list of filenames. The second one, find.ls, uses -ls instead of -print:
alias find. 'find . \( -type d ! -name . -prune \) -o \( \!* -print \)' alias find.ls 'find . \( -type d ! -name . -prune \) -o \( \!* -ls \)'
If you don't want the ./ at the start of each name, add a pipe through cut -c3- or cut -d'/' -f2- to the end of the alias definition.
-- JP
Copyright © 2003 O'Reilly & Associates. All rights reserved.