Я могу найти несколько примеров того, как заменить строку в нескольких файлах с помощью 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
sed -i
(для редактирования на месте)?