Я работаю над сценарием, который будет копировать ТОЛЬКО файлы, созданные за последний выходной день, в другую папку. У меня проблема в том, что у меня есть скрипт, который копирует все файлы в исходном каталоге, а не только файлы, которым меньше одного дня.
Вот что у меня есть:
find . -mtime -1 -exec cp --preserve --parents -a "{}" /somefolder \;
Приведенный выше код копирует все файлы в исходном каталоге. Если я уберу все аргументы для 'cp', то это сработает:
find . -mtime -1 -exec cp "{}" /somefolder \;
Приведенный выше код копирует только самые новые файлы, как я хочу, но мне нужно сохранить атрибуты, используя аргументы cp.
Я также пробовал переменные и для циклических размышлений, возможно, проблема была в опции -exec:
files="$(find -mtime -1)"
for file in "$files"
do
cp --parents --preserve -a file /somefolder
Однако вышеприведенный цикл for приводит к одной и той же проблеме, все файлы копируются. Если я отображаю файлы $, отображаются только те файлы, которые мне нужны.
Как я могу заставить это работать?
find /sourcefolder -type f -mtime -1 -exec cp -a "{}" /somefolder \;