Perdoe-me a minha falta de pesquisa, mas não estou familiarizado com todas as ferramentas existentes.
Desejo renomear em lote uma lista de arquivos como
some_name_n1_51000
some_name_n2_51000
some_name_n3_51000
...
que deve realmente ser nomeado
some_name_n51000_1
some_name_n51000_2
some_name_n51000_3
...
i.e. o 51000 e o número de série devem trocar de posição.
Os seguintes trabalhos no Debian, usando o script perl rename (que é chamado prename ):
prename -nv 's/some_name_n(\d{1,2})_51000/some_name_n51000_$1' *
Observe que -v fornece uma saída detalhada e -n significa uma execução a seco. O% final% co_de é um seletor de arquivos.
Razões pelas quais não funcionou no começo:
* em vez do script perl rename . prename ( $1 , $2 para o segundo e terceiro grupo e assim por diante). O que pode ser melhorado:
No Debian, isso me dá um aviso de depreciação
Programa obsoleto em uso: renomeie como enviado com o pacote Debian perl será removido após o lançamento do trecho. Por favor instale o separado 'Renomear' pacote que irá fornecer o mesmo comando.
O pacote $3 , no entanto, aceita comandos ligeiramente diferentes.
Tags regex batch-rename