On Sat, Aug 14, 2004 at 08:11:54PM -0400, Garance A Drosihn wrote:

> Where is '.' in the above `find .' command?  Is it is on the same
> partition as /home/paulh/tmp/spam/sne/ ?
> 
> You may find it much faster to do something like:
>     mkdir usermail.new
>     chown user:group usermail.new
>     mv usermail usermail.bigspam
>     mv usermail.new usermail
>     cd usermail.bigspam
>     find . \! -atime +1 -exec mv {} ../usermail \;
> 
> My assumption there is that you have a LOT fewer "good files" than
> you have "bad files", so there will be fewer files to move.  But I
> am also making the assumption that all your files are in a single
> directory (and not a tree of directories), which may be a bad
> assumption.

All assumptions correct, and that is what I should have done.

> The thing to use is the '-J' option of xargs.  That way you can have
> the destination-directory be the last argument in the command that
> gets executed, and yet you're still moving as many files in a single
> `mv' command as possible.  E.g., change my earlier `find' command
> to:
>     find . \! -atime +1 -print0 | xargs -0J[] mv [] ../usermail
> 
> Check the man page for xargs for a description of -J

Will do.  Thanks for the tip.


-- 
Paul.

w  http://logicsquad.net/
h  http://paul.hoadley.name/

Attachment: pgp2CrTPBrx7j.pgp
Description: PGP signature

Reply via email to