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