замените несколько файлов в разных подпапках файлом новой версии в unix

Я могу найти несколько примеров того, как заменить строку в нескольких файлах, используя grep или sed, но я хочу заменить старую версию файла новой версией.

Например, у меня есть файл класса new1.class.php в 10 разных подпапках, и я хочу заменить все эти new1.class.php на новый new1.class.php,

Как мне это сделать?

0

Решение

Ты можешь использовать find и просто скопируйте новый файл поверх таким образом …

find . -name new1.class.php -exec cp /some/place/new1.class.php {} \;

(Предполагая, что вы запускаете это как root) cp сохранит право собственности и разрешение целевого файла (который перезаписывается). Если вы хотите сохранить права доступа к исходному файлу, вы можете использовать cp -p

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]