Utilização do comando rename no linux mint.

1. Utilização do comando rename no linux mint.

Elias Berens Caldas
Elias Caldas

(usa Linux Mint)

Enviado em 02/03/2021 - 15:25h

Boa tarde amigos,
Uso o Linux, gosto do Linux e vou continuar utilizando. Mas como não sou expert em Linux (utilizo para tarefas administrativas) encontro dificuldades que o amigos experts da comunidade não conseguiram explicar ainda: Pesquisei em vários artigos sobre como utilizar o comando rename, e todos eles reportam as mesmas explicações das quais nada prático se pode aproveitar. O Meu problema, e o de muitos outros, é o seguinte:
A cada mês preciso renomear centenas de documentos em pdf, cujos nomes e descrições devem ser retirados de um sistema. Os nomes eu consigo tabelar em um arquivo de texto qualquer e deixar preparado para renomear os arquivos. O problema é renomeá-los em lote, de forma a otimizar o tempo. Tentei utilizar o comando rename, mas não consegui produzir resultados. As dificuldades são as seguintes:
Como indico os arquivos, ou o diretório em que estão, que devem ser renomeados?
Como renomeio todos eles de uma vez somente, colando os nomes que deixei preparados?
Agradeço de antemão a disposição em auxiliar


  


2. Re: Utilização do comando rename no linux mint.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 02/03/2021 - 17:03h


Elias Caldas escreveu:

Boa tarde amigos,
Uso o Linux, gosto do Linux e vou continuar utilizando.
Mas como não sou expert em Linux (utilizo para tarefas administrativas) encontro dificuldades que o amigos experts da comunidade não conseguiram explicar ainda:
Pesquisei em vários artigos sobre como utilizar o comando rename, e todos eles reportam as mesmas explicações das quais nada prático se pode aproveitar.
O Meu problema, e o de muitos outros, é o seguinte:
A cada mês preciso renomear centenas de documentos em pdf, cujos nomes e descrições devem ser retirados de um sistema.
Os nomes eu consigo tabelar em um arquivo de texto qualquer e deixar preparado para renomear os arquivos.
O problema é renomeá-los em lote, de forma a otimizar o tempo. Tentei utilizar o comando rename, mas não consegui produzir resultados.
As dificuldades são as seguintes:
Como indico os arquivos, ou o diretório em que estão, que devem ser renomeados?
Como renomeio todos eles de uma vez somente, colando os nomes que deixei preparados?
Agradeço de antemão a disposição em auxiliar


Boa tarde Elias.
O comando rename, é bem semelhante ao comando sed, usa string/REGEX, como padrão,
para identificar qual parte do nome do arquivo será alterada, e qual será a alteração,
Exemplo:
RENOMEIA De: IMGXXXX1 Para: FOTO(1).jpg
#Casa os arquivos que iniciam com IMG,
#Seguidos de um ou mais X,
#Seguidos de um ou mais números #Retrovisor 2
rename -n 's/^IMG([X]+)([[:alnum:]]+)/FOTO\($2\).jpg/' * #O * indica todo do dir corrente
rename(IMGXXXX0, FOTO(0).jpg)
rename(IMGXXXX1, FOTO(1).jpg)
----------------------------------------------
Outro Exemplo:
rename -n 's/^([0-9]{8})([0-9]+.*)$/$1.txt/' *.txt #Pega todos *.txt do dir corrente
Obs.: o parâmetro "-n", não altera, somente mostra o resultado,
para Fazer a alteração, retire o "-n"
----------------------------------------------
No seu caso, para pegar os nomes que estão em um arquivo de texto,
pode usar um laço, ou o awk com a função "system()", que é muito mais rápido.....
----------------------------------------------------------------------------------------------------------------------------
Quanto ao seu comentário:
encontro dificuldades que o amigos experts da comunidade não conseguiram explicar ainda:
Nem sempre o aprendizado é fácil,
tudo que aprendi referente ao Linux, é decorrente de muita leitura, man, help, info, buscadores, etc...
----------------------------------------------------------------------------------------------------------------------------
Seja claro e objetivo com o seu problema:
Tipo:
Tenho arquivos com o padrão "xyz123 doc.pdf", exemplos dos nomes atuais....
quero alterar para: Doc_NNN.pdf, onde NNN, deve seguir uma sequência numérica.....
Estão em sub dirs do dir Documentos.....
Quanto mais detalhes, melhor para que ajuda....
Nos meus mais de 5 anos no VOL,
concluo que, é mais dificíl entender o que "querem", do que a solução em si.
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________




3. Re: Utilização do comando rename no linux mint.

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 02/03/2021 - 19:08h

O Linux Mint já vem com um programa chamado "Renomear em massa", geralmente é integrado ao Gerenciador de Arquivos padrão do seu Ambiente de Trabalho.


4. Re: Utilização do comando rename no linux mint.

Elias Berens Caldas
Elias Caldas

(usa Linux Mint)

Enviado em 03/03/2021 - 16:10h


ricardogroetaers escreveu:

O Linux Mint já vem com um programa chamado "Renomear em massa", geralmente é integrado ao Gerenciador de Arquivos padrão do seu Ambiente de Trabalho.


Obrigado, ricardogroetaers. Infelizmente a versão que utilizo não tem esta funcionalidade.


5. Re: Utilização do comando rename no linux mint.

Elias Berens Caldas
Elias Caldas

(usa Linux Mint)

Enviado em 03/03/2021 - 16:37h


msoliver escreveu:


[quote]Elias Caldas escreveu:

Boa tarde amigos,
Uso o Linux, gosto do Linux e vou continuar utilizando.
Mas como não sou expert em Linux (utilizo para tarefas administrativas) encontro dificuldades que o amigos experts da comunidade não conseguiram explicar ainda:
Pesquisei em vários artigos sobre como utilizar o comando rename, e todos eles reportam as mesmas explicações das quais nada prático se pode aproveitar.
O Meu problema, e o de muitos outros, é o seguinte:
A cada mês preciso renomear centenas de documentos em pdf, cujos nomes e descrições devem ser retirados de um sistema.
Os nomes eu consigo tabelar em um arquivo de texto qualquer e deixar preparado para renomear os arquivos.
O problema é renomeá-los em lote, de forma a otimizar o tempo. Tentei utilizar o comando rename, mas não consegui produzir resultados.
As dificuldades são as seguintes:
Como indico os arquivos, ou o diretório em que estão, que devem ser renomeados?
Como renomeio todos eles de uma vez somente, colando os nomes que deixei preparados?
Agradeço de antemão a disposição em auxiliar


Boa tarde Elias.
O comando rename, é bem semelhante ao comando sed, usa string/REGEX, como padrão,
para identificar qual parte do nome do arquivo será alterada, e qual será a alteração,
Exemplo:
RENOMEIA De: IMGXXXX1 Para: FOTO(1).jpg
#Casa os arquivos que iniciam com IMG,
#Seguidos de um ou mais X,
#Seguidos de um ou mais números #Retrovisor 2
rename -n 's/^IMG([X]+)([[:alnum:]]+)/FOTO\($2\).jpg/' * #O * indica todo do dir corrente
rename(IMGXXXX0, FOTO(0).jpg)
rename(IMGXXXX1, FOTO(1).jpg)
----------------------------------------------
Outro Exemplo:
rename -n 's/^([0-9]{8})([0-9]+.*)$/$1.txt/' *.txt #Pega todos *.txt do dir corrente
Obs.: o parâmetro "-n", não altera, somente mostra o resultado,
para Fazer a alteração, retire o "-n"
----------------------------------------------
No seu caso, para pegar os nomes que estão em um arquivo de texto,
pode usar um laço, ou o awk com a função "system()", que é muito mais rápido.....
----------------------------------------------------------------------------------------------------------------------------
Quanto ao seu comentário:
encontro dificuldades que o amigos experts da comunidade não conseguiram explicar ainda:
Nem sempre o aprendizado é fácil,
tudo que aprendi referente ao Linux, é decorrente de muita leitura, man, help, info, buscadores, etc...
----------------------------------------------------------------------------------------------------------------------------
Seja claro e objetivo com o seu problema:
Tipo:
Tenho arquivos com o padrão "xyz123 doc.pdf", exemplos dos nomes atuais....
quero alterar para: Doc_NNN.pdf, onde NNN, deve seguir uma sequência numérica.....
Estão em sub dirs do dir Documentos.....
Quanto mais detalhes, melhor para que ajuda....
Nos meus mais de 5 anos no VOL,
concluo que, é mais dificíl entender o que "querem", do que a solução em si.
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Boa tarde Marcelo Oliver, grato pela sua disposição em auxiliar.
Vou tentar expor a minha situação de uma forma mais objetiva:

Tenho uma pasta cujo nome é RP'S - FEV.2020, contendo arquivos em pdf. São documentos retirados de um sistema de administração. O nome de cada um, neste momento, é um número sequenciado gerado pelo software do site Ilovepdf. Ocorre que preciso renomear estes arquivos com o nro/sigla correspondente no sistema que utilizo. Estes documentos serão anexados à processos virtuais para fins de arquivamento e auditoria, se for necessário. Mas o nro/sigla de sistema destes arquivos não estão necessariamente em ordem sequenciada, o que facilitaria bastante, mas também não é aleatório (não ajuda muito). Então tabelei os nros/siglas destes arquivos e produzi uma lista pensando em simplesmente renomear cada arquivo manualmente, o que levará um bom tempo.
Os nros/siglas obedecem o padrão abaixo:
2020RP700001
2020RP700003
2020RP700004
2020RP700010
2020RP700002
Como você pode ver, não obedecem uma sequência, mas também não são aleatórios. Você pode perguntar sobre os demais documentos que não estão na lista, o que faria uma sequência. Bom, nem todos os documentos desta família de docs são necessários. apenas alguns. Renomeio os documentos, produzindo a lista, conforme abaixo demonstrado:
2020RP700001 - Empresa A
2020RP700003 - Empresa B S/A
2020RP700004 - Empresa XYZ
2020RP700010 - Empresa T e G lTDA
2020RP700002 - Empresa I
Este é o formato da lista que mencionei.
Se puder me auxiliar, agradeço demais.
Precisaria apenas de um exemplo de como listar os arquivos da pasta RP'S - FEV.2020 no terminal e colar os nomes correspondentes. (Observo o que esta operação de renomear arquivos se repete mensalmente, com grande quantidade de documentos, e constitui a realidade de muitas pessoas que precisam trabalhar em casa neste momento tão difícil).
Obrigado!


6. Re: Utilização do comando rename no linux mint.

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 03/03/2021 - 17:40h

Elias Caldas escreveu:Obrigado, ricardogroetaers. Infelizmente a versão que utilizo não tem esta funcionalidade.

De fato, é um componente do Gerenciador de Arquivos Thunar, padrão do Mint Xfce.
Não achei o programa/pacote "bulkrename", ou parecido, para instalar de forma avulsa.
De uma olhada no comando "rename", é meio complicado.
Verifique se seu Gerenciador de Arquivos comporta essa funcionalidade com outro nome, por exemplo.
Abra uma sub pasta de sua pasta pessoal e selecione um "grupo" de arquivos. Click em renomear e vaja o que aparece, não precisa executar de fato, apenas ver.



7. Re: Utilização do comando rename no linux mint.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 03/03/2021 - 19:22h

Elias Caldas escreveu:
Boa tarde Marcelo Oliver, grato pela sua disposição em auxiliar.
Vou tentar expor a minha situação de uma forma mais objetiva:
Tenho uma pasta cujo nome é RP'S - FEV.2020, contendo arquivos em pdf.
São documentos retirados de um sistema de administração.
O nome de cada um, neste momento, é um número sequenciado gerado pelo software do site Ilovepdf.
Ocorre que preciso renomear estes arquivos com o nro/sigla correspondente no sistema que utilizo.
Estes documentos serão anexados à processos virtuais para fins de arquivamento e auditoria, se for necessário.
Mas o nro/sigla de sistema destes arquivos não estão necessariamente em ordem sequenciada, o que facilitaria bastante, mas também não é aleatório (não ajuda muito).
Então tabelei os nros/siglas destes arquivos e produzi uma lista pensando em simplesmente renomear cada arquivo manualmente, o que levará um bom tempo.
Os nros/siglas obedecem o padrão abaixo:
2020RP700001
2020RP700003
2020RP700004
2020RP700010
2020RP700002
Como você pode ver, não obedecem uma sequência, mas também não são aleatórios.
Você pode perguntar sobre os demais documentos que não estão na lista, o que faria uma sequência.
Bom, nem todos os documentos desta família de docs são necessários. apenas alguns.
Renomeio os documentos, produzindo a lista, conforme abaixo demonstrado:
2020RP700001 - Empresa A
2020RP700003 - Empresa B S/A
2020RP700004 - Empresa XYZ
2020RP700010 - Empresa T e G lTDA
2020RP700002 - Empresa I
Este é o formato da lista que mencionei.
Se puder me auxiliar, agradeço demais.
Precisaria apenas de um exemplo de como listar os arquivos da pasta RP'S - FEV.2020 no terminal e colar os nomes correspondentes.

Obrigado!

Boa noite Elias, ainda não entendi.....
2020RP700001 É o nome atual do arquivo, que está no diretório RP'S - FEV.2020?
2020RP700001 - Empresa A É o novo nome?
Qual o formato original dos arquivos?
Existe alguma relação do "NOVO NOME", com o conteúdo do arquivo?
No aguardo,
Att.: Marcelo Oliver







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts