On Sat, Feb 09, 2002 at 02:48:36PM -0200, Antonio Alberto Lobato wrote:
> 
>  # find /var/log -type f -exec echo -n > {} \;
> 
>  Why find create a file called "{}", instead to erase files contents?

Oi!

   From the find manpage:

       -exec command ;
              Execute command; true if 0 status is returned.  All
              following arguments to find are taken to  be  argu­
              ments  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.  The command  is  exe­
              cuted in the starting directory.

   Try replacing the ">" with "\>"

   Ate mais,
     Pedro

Reply via email to