[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.