Как заменить файл с именем config.dat для нескольких файлов в нескольких каталогах?
пример:
/var/www/site1/configs/config.dat
/var/www/site2/configs/config.dat
/var/www/site3/configs/config.dat
Я хочу заменить все config.data на мои новые / home /john/config.dat.
Заранее спасибо.
Откройте терминал и запустите:
cd /var/www
sudo find . -type f -name 'config.dat' -exec cp /home/john/config.dat {} \;
Здесь я предположил, что каталог /var/www
принадлежит root, но если вы являетесь владельцем каталога /var/www
, то вы не В команде нужно использовать sudo
.
Предполагая, что расположение файлов, которые вы хотите заменить, следует шаблону /var/www/*/configs/config.dat
, затем выполните это в терминале:
for f in /var/www/*/configs/config.dat; do cp /home/john/config.dat "$f"; done
Цикл for выполняет итерацию по расширенному списку целевых имен файлов с использованием переменной f
. Оператор cp копирует содержимое /home/john/config.dat
поверх каждого из них.