Renomear lote de ficheiros em Linux [RESOLVIDO]

1. Renomear lote de ficheiros em Linux [RESOLVIDO]

manuel vilela
mvilela

(usa openSUSE)

Enviado em 03/12/2021 - 11:41h

Tenho que renomear muitas vezes ficheiros pdf com esta formatação "00004_VILELA_Deolinda_14167_ASESP_d059b408.pdf". Tenho que renomear os ficheiros para os dígitos que ficam entre o 3º e o 4º underscore que neste caso seria "14167.pdf". Agradeço ajuda pois sou leigo em Linux.



  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 07/12/2021 - 16:42h


mvilela escreveu:

Boa Noite

Funcionou com a linha de comando: ls -1 *.pdf | awk -F"[_.]" '{system ("mv "$0" "$4"."$NF)}'

Obrigada

Por Nada, que bom que funcionou......
Se Marcar o Tópico como Resolvido, e, escolher a MELHOR RESPOSTA, ficarei muito agradecido.


______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Renomear lote de ficheiros em Linux [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 03/12/2021 - 12:56h

Os arquivos estão no mesmo diretório?


_____________________________________
Att.: Marcelo Oliver
____________________________________


4. Re: Renomear lote de ficheiros em Linux [RESOLVIDO]

manuel vilela
mvilela

(usa openSUSE)

Enviado em 03/12/2021 - 12:57h


Os ficheiros estão todos no mesmo directório.



5. Re: Renomear lote de ficheiros em Linux

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 05/12/2021 - 17:22h

Se tem sempre a mesma formatação e o mesmo nº de campos,
use o awk,
Exemplo:
echo "00004_VILELA_Deolinda_14167_ASESP_d059b408.pdf"|awk -F"[_.]" '{system ("echo "$0" "$4".pdf")}' 

No Dir em que estão os PDF's,
Execute:

ls -1 *.pdf | awk -F"[_.]" '{system ("mv "$0" "$4"."$NF)}'


______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



6. Re: Renomear lote de ficheiros em Linux [RESOLVIDO]

manuel vilela
mvilela

(usa openSUSE)

Enviado em 06/12/2021 - 15:39h

Reporta erro
mws200:~/Documents/testes # 'ls -1*.pdf | awk -F"[_.]" '{system ("mv "$0" "$4"."$NF)}'
bash: syntax error near unexpected token `"mv "$0" "$4"."$NF'

Volto a frisar que nao tenho conhecimentos de linux.




7. Re: Renomear lote de ficheiros em Linux

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 06/12/2021 - 16:01h

Boa tarde.
Verifique se tem o gawk instalado, com o comando:
which gawk
Se não aparecer nada na saída, é pq não está instalado.

Faça um teste com o comando:
echo "00004_VILELA_Deolinda_14167_ASESP_d059b408.pdf"|awk -F"[_.]" '{system ("echo "$0" "$4".pdf")}'
______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



8. Re: Renomear lote de ficheiros em Linux [RESOLVIDO]

manuel vilela
mvilela

(usa openSUSE)

Enviado em 06/12/2021 - 16:25h

Obtenho esta resposta
mws200:~/Documents/testes # echo "00004_VILELA_Deolinda_14167_ASESP_d059b408.pdf"|awk -F"[_.]" '{system ("echo "$0" "$4".pdf")}'
00004_VILELA_Deolinda_14167_ASESP_d059b408.pdf 14167.pdf
mws200:~/Documents/testes #




9. Re: Renomear lote de ficheiros em Linux [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 06/12/2021 - 19:15h


mvilela escreveu:

Obtenho esta resposta
mws200:~/Documents/testes # echo "00004_VILELA_Deolinda_14167_ASESP_d059b408.pdf"|awk -F"[_.]" '{system ("echo "$0" "$4".pdf")}'
00004_VILELA_Deolinda_14167_ASESP_d059b408.pdf 14167.pdf
mws200:~/Documents/testes #

A saída está correta.
Por qual motivo utiliza o ROOT?
Cuidado.....
----------------------------------------------------------------------------------------------------------------
Reporta erro:
mws200:~/Documents/testes # 'ls -1*.pdf | awk -F"[_.]" '{system ("mv "$0" "$4"."$NF)}'

O comando é:
ls -1 *.pdf | awk -F"[_.]" '{system ("mv "$0" "$4"."$NF)}' 

Tem um ESPAÇO após o 'ls -1'
----------------------------------------------------------------------------------------------------------------
Se possível, poste algumas linhas da saída do comando:
ls -1 *.pdf 




-----------------------------------------------------------------------------------------------------------------
Importante:
Antes de RENOMEAR; ("mv"),
Teste o COMANDO, alterando "mv" por "echo", e verifique se está correto...
Deve mostrar na tela:
O nome original do arquivo, e, o nome que deseja.
#Teste
ls -1 *.pdf | awk -F"[_.]" '{system ("echo " $0 " " $4 "arq_" NR"." $NF )}' 

______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



10. Re: Renomear lote de ficheiros em Linux [RESOLVIDO]

manuel vilela
mvilela

(usa openSUSE)

Enviado em 07/12/2021 - 16:15h

Boa Noite

Funcionou com a linha de comando: ls -1 *.pdf | awk -F"[_.]" '{system ("mv "$0" "$4"."$NF)}'

Obrigada



11. Re: Renomear lote de ficheiros em Linux [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 07/12/2021 - 21:33h

Agradeço pela "Melhor Resposta!"
Valeu!

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts