Aqui está um pequeno snippet rápido que deve fazer o truque para você.
Suponho que tudo em /home
que é um diretório e corresponda a *\.com
é um site onde você deseja substituir index.php
e includes/system.php
. Se essa lógica não for adequada, talvez você precise fazer algumas modificações por conta própria.
Eu testei dentro de restrições limitadas. Certifique-se de que a saída ls -ld
no FreeBSD tenha o usuário no terceiro campo e o grupo no quarto campo. Além disso, --reply=yes
é um GNUism. Você pode ter que usar -f
ou o equivalente a BSD para forçar a substituição de um arquivo existente sem interação.
for D in 'find /home -type d -name '*\.com''
do
myuser='ls -ld $D | awk '{print $3}''
mygroup='ls -ld $D | awk '{print $4}''
echo "Updating ${D}..."
cp ${D}/index.php ${D}/index.php.ORIG
cp ${D}/includes/system.php ${D}/includes/system.php.ORIG
cp --reply=yes /path/to/temp/patch/www/index.php ${D}
cp --reply=yes /path/to/temp/patch/www/includes/system.php ${D}/includes
chown $myuser:$mygroup ${D}/index.php
chown $myuser:$mygroup ${D}/includes/system.php
echo "--------------------------------"
echo ""
done