substituir vários arquivos por um novo arquivo

0

Como faço para substituir um arquivo chamado config.dat em vários arquivos em vários diretórios?

exemplo:

/var/www/site1/configs/config.dat
/var/www/site2/configs/config.dat
/var/www/site3/configs/config.dat

Eu quero substituir todos os config.data pelo meu novo /home/john/config.dat.

Obrigado antecipadamente.

    
por John 23.12.2013 / 18:30

2 respostas

1

Abra o terminal e execute:

cd /var/www
sudo find . -type f  -name 'config.dat' -exec cp /home/john/config.dat {} \;

Aqui, assumi que o diretório /var/www é de propriedade de root, mas se você for o proprietário do diretório /var/www , não será necessário usar sudo no comando.

    
por karel 23.12.2013 / 19:13
1

Supondo que a localização dos arquivos que você deseja substituir segue o padrão /var/www/*/configs/config.dat , execute-a em um terminal:

for f in /var/www/*/configs/config.dat; do cp /home/john/config.dat "$f"; done

O loop for itera sobre a lista expandida de nomes de arquivos de destino usando a variável f . A instrução cp copia o conteúdo de /home/john/config.dat sobre cada um deles.

    
por zwets 23.12.2013 / 19:16