
Então, hoje descobri que um dos meus arquivos PHP estava desatualizado, então tive que sobrescrever o phpthumb
diretório em todo o servidor.
Vários sites usam essa pasta em vários locais desconhecidos. Como posso substituir todos esses diretórios de um caminho de origem? (ou seja: /home/test/testuser/phpthumb/
para /home/*/*/phpthumb/
)
Responder1
Isso deve funcionar:
echo /home/*/*/phpthumb | xargs -t -n 1 cp -r /home/test/testuser/phpthumb/*
Você tem que trabalhar com xargs
. Infelizmente cp
não é possível copiar para vários destinos. cp
pode lidar com múltiplas fontes.
Explicação:
echo /home/*/*/phpthumb
: lista todosphpthumb
os diretóriosxargs -t -n 1
: xargs deve chamarcp
cada linha separadamentecp -r /home/test/testuser/phpthumb/*
o comandoxargs
deve chamar. Observe que o diretório de destino será anexado no final porxargs
.
Responder2
tente isto:
$ find /home -name "phpthumb" -type d -not -path "*test/testuser/phpthumb" \
-exec cp /home/test/testuser/phpthumb/* {} \;
find
comando procura phpthumb
em /home
:
-type d
selecione a pasta-not -path
excluitest/testuser/phpthumb
Para cada pasta execute cp
o comando. Se test/testuser/phpthumb
for uma árvore com subpasta, adicione -R
a opção cp
.