com zsh
:
autoload zmv # best in ~/.zshrc
zmv -n '(<1-5>).*' 'Season $(($1))'
(remova o -n
quando feliz)
Observe que ele chama um mv
por arquivo, portanto, seria menos eficiente do que os comandos 5 mv
da sua pergunta (a menos que você faça um zmodload zsh/files
antes para obter um mv
incorporado).
Uma perl
rename
alternativa:
rename -n '$_="Season $1/$_" if /0*(\d+)/' 0[1-5].*
(remova -n
quando estiver satisfeito)
Observe que rename
chama a chamada de sistema rename()
, portanto isso só funciona para mover arquivos dentro do mesmo sistema de arquivos (enquanto mv
recorrerá a copiar + desvincular ao mover arquivos pelos limites do sistema de arquivos). p>
Com mmv
(a movimentação pelo limite FS é suportada, mas, em seguida, observe que nem todos os atributos serão preservados e, para os links simbólicos, é criada uma cópia do arquivo de destino):
mmv -n '0[0-9].*' 'Season #1/'
(remova -n
quando estiver satisfeito)