Ответ 1
Я бы рекомендовал использовать опцию find
-exec
:
find . -ctime 15 -exec cp {} ../otherfolder \;
Как всегда, обратитесь к man-странице для получения наилучших результатов.
У кого-нибудь есть альтернативный способ поиска и копирования файлов в bash:
find . -ctime -15 | awk '{print "cp " $1 " ../otherfolder/"}' | sh
Мне нравится этот способ, потому что он гибкий, так как я собираю свою команду (может любой командой) и выполняю ее после.
Существуют ли другие способы упорядочения команд для списка файлов?
Спасибо
Я бы рекомендовал использовать опцию find
-exec
:
find . -ctime 15 -exec cp {} ../otherfolder \;
Как всегда, обратитесь к man-странице для получения наилучших результатов.
Я обычно использую этот:
find . -ctime -15 -exec cp {} ../otherfolder/ \;
Если ваш cp
- это GNU:
find . -ctime 15 -print0 | xargs -0 cp --target-directory=../otherfolder
Вы можете сделать это с помощью xargs
:
$ find . -ctime 15 -print0 | xargs -0 -I{} cp {} ../otherfolder
См. также утилиту grep в оболочке script.
Используйте это для копирования и многих других вещей:
for f in $(find /apps -type f -name 'foo'); do cp ${f} ${f}.bak; cmd2; cmd3; done;
-exec, скорее всего, путь, если у вас слишком много файлов. Затем используйте xargs.