On 4/26/05, Johnathan Bailes <johnathan.bailes@xxxxxxxxx> wrote: > > any idea how to delete all files in a subdirectory with a certain > > extension...?? > find /home/enduser/stuff/* -name "*.blah" -exec rm {} \; It's good practice to use a couple more options to make it safer: find /some/dir -type f -name "*.blah" -exec rm -f -- {} \; The options, -type f, will insure that only regular *files* are deleted; not directories, sockets, etc. And the "--" in the rm command will insure that any files that happen to have names starting with a hyphen are not interpreted as options to the rm command rather than the filename to delete. The -f option forces the delete even if the file is marked as read-only (of course use with caution!). If you have a vary large number of files to delete, you can speed things up significantly with the following: find /some/dir -type f -name "*.blah" -print0 | xargs -0 rm -f -- The xargs(1) command will bundle up a whole bunch of filenames and then call the rm command just once on that set (probably around 100 at a time). This is much faster than calling rm once for every file. The -print0 and -0 options insure that any strange characters in the filenames are not interpreted incorrectly (it is possible for filename to contain newlines and spaces for instance). One final word of caution; always use the user with the least permissions---try not to do this sort of thing as root unless you have no other choice. -- Deron Meranda