shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script-pt] Normalizar nomes de arquivos


From: Guilherme Gall
Subject: Re: [shell-script-pt] Normalizar nomes de arquivos
Date: Fri, 13 Dec 2019 13:20:10 -0300

Se entendi corretamente, você tem strings no padrão

dígitos + sublinhado + nome.pdf

e quer que fique

nome.pdf

Segue minha sugestão:

$ cat exemplo.txt
123_nome.pdf
456789_nome2.pdf

$ sed 's/^[0-9]*_\(.*\)/\1/' exemplo.txt
nome.pdf
nome2.pdf

Se não quiser escapar o grupo dentro da regex, use a opção -r do sed
(acho que fica um pouco mais legível):

$ sed -r 's/^[0-9]*_(.*)/\1/' exemplo.txt
nome.pdf
nome2.pdf

Espero ter ajudado um pouco,

Atenciosamente

Guilherme Magalhães Gall

Em sex., 13 de dez. de 2019 às 12:45, Jamenson Ferreira Espindula de
Almeida Melo <address@hidden> escreveu:
>
> Saudações.
>
> Por gentileza, ilustres, preciso normalizar os nomes de alguns arquivos
> baixados da Internet. Infelizmente, como um Advogado, ainda sou péssimo
> quando o assunto é Expressões Regulares.
>
> O padrão dos nomes é este:
>
> dígitos + caractere sublinhado + nome.pdf
>
>
> O resultado desejado é este:
>
> nome.pdf (eliminar o conjunto de dígitos e, também, o caractere
> sublinhado)
>
> Notei que o conjunto de dígitos quase sempre coincide com o tamanho (em
> bytes) do arquivo. Uns dois ou três não seguem tal padrão. Tentei com o
> script perl "rename", porém fui obrigado a executar três ou quatro vezes
> para chegar no resultado desejado. Eis como tentei:
>
> /usr/bin/file-rename -v 's/^.{5}_/ /' *
> /usr/bin/file-rename -v 's/^.{6}_/ /' *
> /usr/bin/file-rename -v 's/^.{7}_/ /' *
>
> Alguma sugestão? Obrigado.
>
> Jamenson Ferreira Espindula de Almeida Melo
> Jaboatão dos Guararapes, Pernambuco, Brasil
> Usuário GNU/Linux nº 166197
> https://linuxcounter.net/cert/166197.png
>
> Impressão digital da chave PGP:
> 234D 1914 4224 7C53 BD13  6855 2AE0 25C0 08A8 6180
>
> _______________________________________________
> Lista brasileira de usuários de shell script
> Endereço de e-mail da lista: address@hidden
> Para se inscrever ou desinscrever acesse: 
> https://lists.nongnu.org/mailman/listinfo/shell-script-pt
> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, 
> acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>
> NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize 
> somente esta.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]