[Tfug] Need help with a complicated command line copy...

Brian Murphy murphy+tfug at email.arizona.edu
Wed Jun 27 15:39:00 MST 2007


The find command might work for you:

find /mnt/oldstuff -type f -exec cp -p -u '{}' /destdir \;

(ignore any email client line-wrap)

Look at cp's -p option to preserve the modification timestamp and -u to
get the latest copies.

Find has a -name option if you want to look for specifically named files
(eg: -name \*.pdf)

As you research this, you'll find that unix filesystems keep 3
timestamps on each file.  Modify (mtime) is the one you want for this
kind of thing.

Brian

Quoting Jim March <1.jim.march at gmail.com>:
> Guys,
>
> I have a complicated problem.
>
> I have a stack of old hard disks with data a friend wants extracted.
> There are a lot of duplicates, and of course they're scattered across
> multiple subdirectories.
>
> The file types are as you'd expect: .pdf, .doc, .xls, etc.
>
> At the DOS command line I'd have trouble with this: I could use XCOPY
> to move the files (based on extension) from disk to disk including
> subdirectories, but In this case I don't WANT the target-location
> files to be in subdirectories.  Instead, as I pile the files into the
> target location I want to keep them all in one, and as new ones try
> and come in retain the one with the latest datestamp.
>
> I'm using standard Ubuntu Feisty so I figure there has to be a way to
> skin this cat at the command line, probably with standard tools but,
> maybe with some add-in package?  Any tips would be welcome :).
>
> Thanks!
>
> Jim
>
> _______________________________________________
> Tucson Free Unix Group - tfug at tfug.org
> Subscription Options:
> http://www.tfug.org/mailman/listinfo/tfug_tfug.org




The opinions or statements expressed herein are my own and should not be
taken as a position, opinion, or endorsement of the University of
Arizona.






More information about the tfug mailing list