Backup de arquivo de texto usando string de data

1

Estou tentando acrescentar uma string de data ao nome do arquivo para fazer o backup de um arquivo de texto. Então eu fiz:

cp "$infile" "$infile"_backup_ date +"%Y%m%d_%H%M%S"

Mas não está funcionando, como posso acrescentar a saída "date" em uma string?

user1@serv01:~/test_sh_append> date +"%Y%m%d_%H%M%S"
20171222_075003
user1@serv01:~/test_sh_append> echo date +"%Y%m%d_%H%M%S"
date +%Y%m%d_%H%M%S
    
por user648026 22.12.2017 / 16:55

2 respostas

3

Use o seguinte:

cp "$infile" "${infile}_backup_"$(date +"%Y%m%d_%H%M%S")
  • ${infile} - variável $infile interpolada na string concatenada
  • $(date +"%Y%m%d_%H%M%S") - substituição de comando, cuja saída se torna a parte final da string concatenada resultante (new filename )

Se o especificador de formato date contivesse espaço (s) como %Y%m%d %H%M%S - agrupe toda a seqüência concatenada com aspas duplas "${infile}_backup_$(date +"%Y%m%d %H%M%S")"

    
por 22.12.2017 / 17:00
1

Eu fiz pelo método abaixo

i='date +%Y%m%d_%H%M%S';  cp inputfile inputfile_$i

onde i é variável que contém a saída do comando date

    
por 23.12.2017 / 09:42