Isso pode ser feito pelo GNU ls + awk one-liner:
ls -vr *.depot | awk -F- '$1 == name{system ("rm \""$0"\"")}{name=$1}'
Explicação: os nomes dos arquivos são passados como entrada para o script awk. As opções -vr fazem com que os nomes dos arquivos sejam classificados como números de versão na ordem inversa, portanto, por exemplo, foo-1.9.depot vem depois de foo-1.10.depot . O script awk armazena a primeira parte do nome (até o primeiro - ) na variável name . Quando a primeira parte do nome atual é idêntica à primeira parte do nome anterior, o script invocou rm para excluir o arquivo atual (que é uma versão mais antiga).