Os comandos rm
devem ser dependentes do resultado do comando unrar
, no qual, no seu exemplo, todos eles são executados seqüencialmente, aconteça o que acontecer.
Então, tente algo assim (em um diretório de teste primeiro!):
flock -n locked -c "find . -name '*.rar' -print0 | xargs -0 -I FILE sh -c \"unrar e -o- FILE && rm FILE 'basename FILE .rar'.r[:digit:][:digit:]\" "
Em seguida, a parte rm
é executada apenas se o comando unrar
for concluído com êxito.
Você precisará de cotações extras se os nomes dos arquivos tiverem espaços.