find(1) <directory> -depth -type f -exec shred(1) -v -n3 -z -u {} \;
search for files in a directory hierarchy
Before a command is executed, its input and output may be redirected using a special notation interpreted
by  the  shell.   Redirection  may  also  be used to open and close files for the current shell execution
environment.  The following redirection operators may precede or appear anywhere within a simple  command
or may follow a command.  Redirections are processed in the order they appear, from left to right.

Redirecting Input
    Redirection  of  input  causes  the  file  whose name results from the expansion of word to be opened for
    reading on file descriptor n, or the standard input (file descriptor 0) if n is not specified.

    The general format for redirecting input is:

           [n]<word
Before a command is executed, its input and output may be redirected using a special notation interpreted
by  the  shell.   Redirection  may  also  be used to open and close files for the current shell execution
environment.  The following redirection operators may precede or appear anywhere within a simple  command
or may follow a command.  Redirections are processed in the order they appear, from left to right.

Redirecting Output
    Redirection of output causes the file whose name results from the expansion of  word  to  be  opened  for
    writing  on  file descriptor n, or the standard output (file descriptor 1) if n is not specified.  If the
    file does not exist it is created; if it does exist it is truncated to zero size.

    The general format for redirecting output is:

           [n]>word

    If the redirection operator is >, and the noclobber option to the  set  builtin  has  been  enabled,  the
    redirection  will  fail if the file whose name results from the expansion of word exists and is a regular
    file.  If the redirection operator is >|, or the redirection operator is > and the  noclobber  option  to
    the  set  builtin  command  is  not  enabled, the redirection is attempted even if the file named by word
    exists.
-type c
       File is of type c:

       b      block (buffered) special

       c      character (unbuffered) special

       d      directory

       p      named pipe (FIFO)

       f      regular file

       l      symbolic link; this is never true if the -L option or the  -follow  option  is  in  effect,
              unless the symbolic link is broken.  If you want to search for symbolic links when -L is in
              effect, use -xtype.

       s      socket

       D      door (Solaris)
-exec command ;
       Execute  command;  true  if 0 status is returned.  All following arguments to find are taken to be
       arguments to the command until an argument consisting of `;' is encountered.  The string  `{}'  is
       replaced  by  the  current  file name being processed everywhere it occurs in the arguments to the
       command, not just in arguments where it is alone, as in some versions  of  find.   Both  of  these
       constructions  might  need  to be escaped (with a `\') or quoted to protect them from expansion by
       the shell.  See the EXAMPLES section for examples of the use of the -exec option.   The  specified
       command  is  run  once  for each matched file.  The command is executed in the starting directory.
       There are unavoidable security problems surrounding use of the -exec action; you  should  use  the
       -execdir option instead.

-exec command {} +
       This variant of the -exec action runs the specified command on the selected files, but the command
       line is built by appending each selected file name at the end; the total number of invocations  of
       the command will be much less than the number of matched files.  The command line is built in much
       the same way that xargs builds its command lines.  Only one instance of `{}' is allowed within the
       command.  The command is executed in the starting directory.
overwrite a file to hide its contents, and optionally delete it
-v, --verbose
       show progress
-n, --iterations=N
       overwrite N times instead of the default (3)
-z, --zero
       add a final overwrite with zeros to hide shredding
-u, --remove
       truncate and remove file after overwriting
source manpages: findshred