1

Это создает файл в том же директории, что и some.file.bak.

find /home/ -ipath "*/temp/some.file" -type f  -exec cp {} {}.bak \;

Как сделать копию под другим именем, например «another.file», в том же каталоге, что и some.file, вместо «some.file.bak».

2 ответа2

2

find /home/ -ipath "*/temp/some.file" -type f -execdir cp {} another.file \;

Вы просто должны изменить exec на execdir из другого ответа (извините, я пока не могу опубликовать его как комментарий).

Опция execdir гласит, в соответствии с man-страницей find :

-execdir команда {} +

Аналогично -exec, но указанная команда запускается из подкаталога, содержащего соответствующий файл, который обычно не является каталогом, в котором вы начали поиск.

0
find /home/ -ipath "*/temp/some.file" -type f  -exec cp {} another.file \;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .