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: Alfredo Casanova
Subject: Re: [shell-script-pt] Normalizar nomes de arquivos
Date: Fri, 13 Dec 2019 14:08:02 -0300

Jamenson, usei esse nome de arquivo como padrão. Nesse caso, o arquivo deveria se chamar apenas "parcial.pdf", correto?
Caso seja isso, veja o código a seguir:

a linha a seguir gera arquivos vazios no mesmo padrão que vc enviou, mas coloca um numero de 00 a 99 antes da palavra "parcial"
$ for i in {00..99}; do touch 200593_xxix_eou_1ª_fase-analise_atendimento_especial_deferidos_${i}parcial.pdf; done
depois, vamos conferir que todos os arquivos foram gerados
$ ls 
200593_xxix_eou_1ª_fase-analise_atendimento_especial_deferidos_00parcial.pdf
200593_xxix_eou_1ª_fase-analise_atendimento_especial_deferidos_01parcial.pdf
200593_xxix_eou_1ª_fase-analise_atendimento_especial_deferidos_02parcial.pdf
200593_xxix_eou_1ª_fase-analise_atendimento_especial_deferidos_03parcial.pdf
200593_xxix_eou_1ª_fase-analise_atendimento_especial_deferidos_04parcial.pdf
...

os arquivos estão lá
depois disso, é só mandar um for com um mv

$ for arq in *.pdf; do mv $arq ${arq//*_/}; done
$ ls
00parcial.pdf
01parcial.pdf
02parcial.pdf
03parcial.pdf
04parcial.pdf
...

É isso que vc precisa?

Fiz um live demo aqui:

https://asciinema.org/a/he7Cmx6DGBL3YTSSawBuYnLWW


On Fri, Dec 13, 2019 at 1:55 PM Jamenson Ferreira Espindula de Almeida Melo <address@hidden> wrote:
Em sex., 13 de dez. de 2019 às 13:37, Guilherme Gall
<address@hidden> escreveu:
>
> 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
>

Olá, Guilherme.

Obrigado pela ajuda.

Isso mesmo. Você entendeu corretamente. Segue um exemplo de nome de arquivo:

200593_xxix_eou_1ª_fase-analise_atendimento_especial_deferidos_parcial.pdf


Salvo engano, o aplicativo "sed" age no conteúdo dos arquivos. Correto?

O que preciso é renomear os arquivos para eliminar aquele conjunto de
números e, também, o primeiro caractere sublinhado. No exemplo dado,
ficaria assim:

xxix_eou_1ª_fase-analise_atendimento_especial_deferidos_parcial.pdf

Esclareceu mais?

Um abraço.

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.


--
[]'s
Alfredo Tristão Casanova .͘.
Linux User #228230
tel: +55 61 9655 9619

reply via email to

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