Como adicionar hora atual no nome de um arquivo ou varios.

1. Como adicionar hora atual no nome de um arquivo ou varios.

Welleson de Andrade Silva
Welleson5000

(usa Linux Mint)

Enviado em 06/01/2021 - 15:28h

Boa tarde, estou criando um backup onde terá uma pasta com que será gerado alguns arquivos cotidiano, por exemplo é 0011212.txt, porem quero que ele fique 001121214:15.txt pegando a hora atual sem modificar o nome do arquivo original, lembrando que o a numeração especificada de exemplo ela muda. Estou fazendo desta forma porem não estou tendo exito.

while :; do
ls -la *.QWE
mv *.QWE *$HORA.QWE
cp *.QWE pasta_teste/
sleep 2
done

Agradeço desde já.


  


2. Re: Como adicionar hora atual no nome de um arquivo ou varios.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 06/01/2021 - 18:58h

Welleson5000 escreveu:

Boa tarde, estou criando um backup onde terá uma pasta com que será gerado alguns arquivos cotidiano, por exemplo é 0011212.txt, porem quero que ele fique 001121214:15.txt pegando a hora atual sem modificar o nome do arquivo original, lembrando que o a numeração especificada de exemplo ela muda. Estou fazendo desta forma porem não estou tendo exito.

while :; do
ls -la *.QWE
mv *.QWE *$HORA.QWE
cp *.QWE pasta_teste/
sleep 2
done
Agradeço desde já.

Boa noite Welleson5000.
Os arquivos que vc quer alterar o nome estão em um diretório especifico?
Somente em um diretório?
O que é esse "QWE" do seu script?
Os arquivos que serão renomeados, tem só números no nome, mais a extensão?
A sua lógica não é correta.....
Esse laço infinito não é necessário, use um laço "for".
Se na distro que usa tem o comando "rename", é bem simples.
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________




3. Re: Como adicionar hora atual no nome de um arquivo ou varios.

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 06/01/2021 - 22:43h

Tente
ls | xargs printf "%s-$(date +%H%M)\n"


4. Re: Como adicionar hora atual no nome de um arquivo ou varios.

Welleson de Andrade Silva
Welleson5000

(usa Linux Mint)

Enviado em 07/01/2021 - 07:58h

msoliver escreveu:

Welleson5000 escreveu:

Boa tarde, estou criando um backup onde terá uma pasta com que será gerado alguns arquivos cotidiano, por exemplo é 0011212.txt, porem quero que ele fique 001121214:15.txt pegando a hora atual sem modificar o nome do arquivo original, lembrando que o a numeração especificada de exemplo ela muda. Estou fazendo desta forma porem não estou tendo exito.

while :; do
ls -la *.QWE
mv *.QWE *$HORA.QWE
cp *.QWE pasta_teste/
sleep 2
done
Agradeço desde já.

Boa noite Welleson5000.
Os arquivos que vc quer alterar o nome estão em um diretório especifico?
Somente em um diretório?
O que é esse "QWE" do seu script?
Os arquivos que serão renomeados, tem só números no nome, mais a extensão?
A sua lógica não é correta.....
Esse laço infinito não é necessário, use um laço "for".
Se na distro que usa tem o comando "rename", é bem simples.
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________



Esse arquivo QWE eu fiz apenas para teste, eu esto usando o laço infinito por que o mesmo vai inicializar junto com a maquina e vai ficar sempre verificando se o arquivo como exemplo .QWE foi criado naquela determinada pasta.


5. Re: Como adicionar hora atual no nome de um arquivo ou varios.

Welleson de Andrade Silva
Welleson5000

(usa Linux Mint)

Enviado em 07/01/2021 - 16:37h

Vou tentar explicar melhor o que desejo fazer.

Quero fazer um backup de um arquivo conforme o anexo, porem esse arquivo é sobreposto sempre que meu ERP executa uma rotina, quero copiar esse arquivos sempre que ele for modificado, mas sem alterar o nome apenas acrescentar a hora no final antes da extensão do arquivo para a pasta backup.


6. Re: Como adicionar hora atual no nome de um arquivo ou varios.

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 07/01/2021 - 16:49h

Welleson5000 escreveu:

Vou tentar explicar melhor o que desejo fazer.

Quero fazer um backup de um arquivo conforme o anexo, porem esse arquivo é sobreposto sempre que meu ERP executa uma rotina, quero copiar esse arquivos sempre que ele for modificado, mas sem alterar o nome apenas acrescentar a hora no final antes da extensão do arquivo para a pasta backup.


Talvez seja melhor monitorar o sistema de arquivos e fazer o backup na hora em q for alterado.
https://linuxhint.com/inotofy-rsync-bash-live-backups/


7. Re: Como adicionar hora atual no nome de um arquivo ou varios.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 07/01/2021 - 21:02h

Welleson5000 escreveu:

Vou tentar explicar melhor o que desejo fazer.

Quero fazer um backup de um arquivo conforme o anexo, porem esse arquivo é sobreposto sempre que meu ERP executa uma rotina, quero copiar esse arquivos sempre que ele for modificado, mas sem alterar o nome apenas acrescentar a hora no final antes da extensão do arquivo para a pasta backup.

----------------------------------------------------------------------------------------------------
Boa noite Wellesom,
Seguem sugestões:
"Acrescentar" HHMMSS no nome do arquivo.
hms=$(date +%H:%M:%S);
rename -n 's/(^[0-9]{8})(.ETQ$)/$1_'${hms}'$2/' *.ETQ
rename(00010000.ETQ, 00010000_20:11:04.ETQ)
rename(00010001.ETQ, 00010001_20:11:04.ETQ)
rename(00010002.ETQ, 00010002_20:11:04.ETQ)
rename(00010003.ETQ, 00010003_20:11:04.ETQ)
rename(00010004.ETQ, 00010004_20:11:04.ETQ)
rename(00010005.ETQ, 00010005_20:11:04.ETQ)

----------------------------------------------------------------------------------------------------
while :;do
mv /origem/*.ETQ /mnt/backup_etq/
hms=$(date +%H:%M:%S);
cd /mnt/backup_etq/
rename 's/(^[0-9]{8})(.ETQ$)/$1_'${hms}'$2/' *.ETQ
sleep 1;
done
----------------------------------------------------------------------------------------------------
OBS.: rename -n, somente simula, para efetuar a alteração, retire o "-n"
O comando sugerido deve ser executado na pasta onde se encontram os arquivos *.ETQ,
Devido a REGEX "casar" o inicio..do nome com números.
Se vai fazer um looping infinito, sugiro usar a data no seguinte formato:
hms=$(date +%H:%M:%S:%s);
Afim de evitar arquivos com o mesmo nome.....
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________







Patrocínio

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts