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:39:42 -0300

Agora tá mais claro.

https://asciinema.org/a/cbsdajGAgYo0ad9oXonNmy0s0

Aí tem uma gravação do que fiz, aqui vai a explicação:

$ for i in {00..99}; do touch 200593${i}_xxix_eou_1ª_fase-$RANDOM-analise_atendimento_especial_deferidos_parcial.pdf; done
a linha acima gera arquivos vazios no mesmo padrão de nome do seu, adicionando um numero aleatório no meio do nome.

for arq in *.pdf; do mv $arq ${arq#[0-9]*_}; done

essa linha renomeia cada arquivo retirando tudo que dê match em "[0-9]+_" do nome, contando apenas a primeira ocorrência.

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]