• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

chicosoft

Nome de Ficherio...

5 mensagens neste tópico

Viva,

Tenho um problema:

Tenho um script para correr de hora em hora, que faz uma serie de rotinas, para recolher estatisticas de alguns equipamentos.

O problema é que ele cria ficheiros com o seguinte nome "logs_21-03-2007_19:36:01.txt", e em Windows, é impossivel ler ficheiros com o caracter ":".

Preciso de um script, que corra em linux, e que renomeie o ficheiro de "logs_21-03-2001_19:36:01.txt" para por exemplo "logs_21-03-2001_19_36_01.txt"

Não consigo mudar o script que cria o ficheiro, pois ele vai buscar a hora e fica automaticamente com ":"

Alguem me ajuda?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

uso o seguinte comando para gerar o nome do ficheiro:

date "+%d-%m-%y_%H_%M_%S"

acho que é a solução mais simples.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim, isso ja alterei, e para alterar os ficheiros antigos?

Preciso de mudar o nome dos ficheiros ja criados.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

isto deve ajudar

FILES=`ls -1`

for FILE in $FILES
do
  STR=`echo $FILE | tr : _`
  if [ "$FILE" != "$STR" ]; then
    echo $STR
    mv $FILE $STR
  fi
done

copia todos os ficheiros para uma pasta separada para o caso de alguma coisa correr mal. no directório onde executas o comando não deves ter pastas (não devia dar problemas de maior, apenas terias um erro ao tentar mover as pastas).

EDIT: fiz uma alteração à 1ª versão que resolve o problema das pastas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora