将文件复制到目录,同时将日期附加到文件名

将文件复制到目录,同时将日期附加到文件名

我想将文件复制到另一个目录但将日期嵌入在文件名中。

例如 cookies.sqlite -> 6_6_20.cookies.sqlite

这是我找到的一个修改过的脚本,但老实说,我不知道它能运行多少。

当它运行时,我得到

cp:无法统计'':没有这样的文件或目录

#!/bin/bash
# this is FF profile directory /home/andy/.mozilla/firefox/9r99csdk.default/
## Get current date ##
now1=$(date +"%m_%d_%Y")

## Appending a current date from a $_now to a filename stored in $_file ##
file="/home/andy/.mozilla/firefox/9r99csdk.default/$_now1cookies.sqlite"

cp "$_file" /home/andy/Downloads

2020 年 6 月 8 日

这会创建正确的文件名,但文件是空的?

cp /home/andy/.mozilla/firefox/9r99csdk.default/cookies.sqlite /home/andy/Downloads/$(date +"%m_%d_%Y").cookies.sqlite 

答案1

除了一些拼写错误外,你似乎试图使用新的文件名为来源命令本身cp,而不是其目标。尝试

cp "/home/andy/.mozilla/firefox/9r99csdk.default/cookies.sqlite" "/home/andy/Downloads/${now1}cookies.sqlite"

注意在变量扩展中使用括号来${now1}cookies区分$now1cookies

答案2

cd /home/andy/.mozilla/firefox/9r99csdk.default/
cp cookies.sqlite $(date +"%m_%d_%Y").cookies.sqlite
mv *.cookies.sqlite /home/andy/Maxtor_Backups/ 

谢谢大家的帮助。

相关内容