Это типичная работа для cpio
или pax
:
find . -type f -mtime -14 -print0 | pax -0 -rw /ModifiedFiles
Вы также можете использовать Параметр -l
, чтобы делать ссылки вместо копий. Он не работает должным образом с командой pax
в Debian, но, возможно, с командой в OS / X такой же проблемы нет.
Вы можете сделать нечто подобное с cpio
(предок pax
), но реализация cpio
в OS / X, похоже, не поддерживает -0
/ - параметр null
, который разрешает произвольные имена файлов. Если вы знаете, что имена ваших файлов не содержат символов новой строки, вы все равно можете сделать это:
find . -type f -mtime -14 | cpio -dp /ModifiedFiles
Как Debian (GNU), так и OS / X версии cpio
также имеют -l
возможность делать ссылки вместо копий. (и один из Debian, похоже, работает правильно).