]]Caros,
estou em processo de aprendizado do comando sed.
Tenho arquivos que desejo renomear. Eles tem o seguinte padrão:

{Autor} - {Título}.epub

Por exemplo:

Max Hastings - Inferno, o mundo em guerra.epub

Quando gostaria que ficasse assim:

Inferno, o mundo em guerra - Max Hastings.epub

Em outras palavras, tenho o hífen como divisor. O que está antes,
quero deslocar para depois. O que está depois, quero deslocar para
antes.

Para obter o nome invertido pensei em fazer algo como:

echo "a - b.epub" | sed 's&(/w+)/s+\-/s+(/w+)\.epub&\2 - \1.epub&g

Observem que troquei o delimitador para & para que não houvesse
necessidade de escapar a expressão regular com "\".

O resultado deveria ser:

b - a.epub

O resultado, estranhamente, nem chegou a ser um erro. O comando ficou
simplesmente suspenso, como se houvesse a necessidade de alguma
complementação, não retornando o controle para o Bash.

Alguém teria ideia do que se passa? Seria algum problema relativo aos
retrovisores \1 e \2? É possível utilizar os retrovisores? Assim,
retrovisores, chamou-os o Aurélio Marinho Vargas, não sei se
tecnicamente, o nome é realmente este.

-- 
Luciano de Souza

-- 
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a