>> find /data -name "*.dat" -exec chown user:group {} \;
> chown -youroptionshere `find . -name "what_you_are_looking_for"`

Oh well, why do you suggest bad solutions when good ones have already
been brought up?

 find -print0 | xargs -0     is quick and safe
 find -print  | xargs        is quick but not safe
 find -exec                  is not quick but at least safe
 command `find`              is not safe and has additional problems

Where quick means:
  Not starting a new process for each file.
Where safe means:
  Handling file names containing white space correctly.
Where additional problems are:
  Prone to overflow the max length of command line args.

Try the following:

 $ touch important
 $ touch 'not important at all.dat'
 $ ls -1
 important
 not important at all.dat
 $ rm -f `find . -name "*.dat"`
 $ ls -1
 not important at all.dat

Ooops.

Reply via email to