Se você se encontrar parecido com este . Você deveria ser capaz de fazer algo como:
find dir -name '*_tstaAligned.SortbyCoord.bam' -exec bash -c 'mv "$0" "${0/_tstaAligned.SortbyCoord.bam/_tsta.bam}"' "{}" \;
Embora o bash ${var//find_all/substitute_with_this}
seja usado, você só corresponderá aos arquivos que terminam com _tstaAligned.SortbyCoord.bam
, pois esse é o padrão dado a find
. Você, no entanto, substituirá todas as ocorrências de _tstaAligned.SortbyCoord.bam
no nome, se houver algum arquivo com vários. (Acho que não.)
Para testes, faça algo como:
find dir -name '*tstaAligned.SortbyCoord.bam' -exec bash -c 'printf "mv \"%s\" \"%s\"\n" "$0" "${0/_tstaAligned.SortbyCoord.bam/_tsta.bam}"' "{}" \;