In the "find" man page is an example which uses (1) "-prune" to exclude a directory and (2) "! -name '*~'" to exclude both files and directories the name of which end in "~":
find . -name .snapshot -prune -o \( \! -name '*~' -print0 \)| cpio -pmd0 /dest-dir I have tried without success to alter the command so as to prune two directories (".git" and "projectlog") and to execute "enscript" to print each file (not a list of filenames). A crude work-around is to generate a file containing the list of files discovered by "find": find . -name .git -prune -o \! -name '*~' -print > printlist then edit the list to create a script for printing, editing out all files in the "projectlog" directory: !#/bin/bash enscript file1 enscript file2 ... exit