Estou mesclando dois conjuntos de dados e eles estão no formato 40000X-????.mrc
. No entanto, ambos começam com 0000
. Portanto, quero iniciar o segundo conjunto de dados após o final do primeiro (se o primeiro conjunto de dados tiver 12 arquivos, quero que o segundo conjunto de dados comece com 40000X-0013.mrc
e assim por diante).
Encontrei algumas respostas parciais on-line, então meu código é o seguinte:
#!/usr/bin/env bash
c=12
for f in *.mrc ; do
mv -v "$f" "40000X-$(printf '%0*d' 4 $c).mrc"
let c=c+1
done
Resultado esperado: Renomeia todos os arquivos em ordem, começando em 12, continuando até que todos os arquivos sejam processados.
Resultado real: Devido à opção -v
, ele afirma ter renomeado todos os arquivos, mas na inspeção do diretório, apenas os últimos 12 parecem permanecer. Do teste, isso depende do índice inicial c
e, se eu alterá-lo, ele pode realmente percorrer mais, mas atrapalha o índice inicial.
Qualquer ajuda com isso é apreciada.
Tags rename shell-script