Я могу найти несколько примеров того, как заменить строку в нескольких файлах, используя grep или sed, но я хочу заменить старую версию файла новой версией.
Например, у меня есть файл класса new1.class.php в 10 разных подпапках, и я хочу заменить все эти new1.class.php на новый new1.class.php,
Как мне это сделать?
Ты можешь использовать find
и просто скопируйте новый файл поверх таким образом …
find . -name new1.class.php -exec cp /some/place/new1.class.php {} \;
(Предполагая, что вы запускаете это как root) cp
сохранит право собственности и разрешение целевого файла (который перезаписывается). Если вы хотите сохранить права доступа к исходному файлу, вы можете использовать cp -p
Других решений пока нет …