使用日期字符串备份文本文件

使用日期字符串备份文本文件

我正在尝试将日期字符串附加到文件名以备份文本文件
所以我这样做了:

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

但它不起作用,如何将“date”的输出附加到字符串中?

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

答案1

使用以下内容:

cp "$infile" "${infile}_backup_"$(date +"%Y%m%d_%H%M%S")
  • ${infile}-$infile在连接字符串中插入变量
  • $(date +"%Y%m%d_%H%M%S")- 命令替换,其输出成为结果连接字符串的结尾部分(新文件名

如果date格式说明符包含空格,例如%Y%m%d %H%M%S- 用双引号将整个连接序列括起来"${infile}_backup_$(date +"%Y%m%d %H%M%S")"

答案2

我已经通过以下方法完成了

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

其中 i 是包含日期命令输出的变量

相关内容