我正在尝试将日期字符串附加到文件名以备份文本文件
所以我这样做了:
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 是包含日期命令输出的变量