Eu realmente não entendo o seu problema ( find
deve retornar o caminho completo), no entanto, sugiro uma abordagem diferente, talvez algo como
find -name '*.report' -execdir bash -c 'echo mv "$0" "${0/LP_/LPP_}"' {} \;
Ao passar o find
result {}
como um parâmetro posicional de shell $0
para um comando subordinado bash -c
, podemos contornar o fato de que não podemos fazer mv {} ${{}/LP_/LPP_}
diretamente. O uso de -execdir
em vez do mais comum -exec
garante que a substituição ocorra apenas na parte do nome do arquivo, caso algum dos caminhos contenha a string LP_
O echo
é apenas para que você possa testá-lo e verificar se a renomeação parece correta - você precisará removê-lo para permitir renomeação real.