2012-12-10 38 views
3

我试图将当前的日期和时间附加到shell脚本中的现有文件名,并且我发现我的命令没有按预期工作。问题附加日期-shell脚本的文件名

例如,如果我的文件名是f1.log,并且需要将它与当前时间一起追加。该附加版本必须用于文件的进一步处理。

我试着用下面的脚本,但得到一个错误

now=$(date +"%m-%d-%Y/%T") 
    echo hi >>time.log 
    mv "time.log" "time.$now.log" (error here : file or directory not found) 
    echo hello >> time.log$now (have to continue processing with new file) 

回答

0

问题是在您的date +"%m-%d-%Y/%T"中shell的插入/

其更改为-,而不是(或别的东西,只要它不是/或其他元字符,这将使该文件难以在未来的工作)

+0

'/'不是shell的元字符。问题在于它是路径中目录名称之间的分隔符。 –

2

你不能在一个文件名字符/mv命令正在查找以date的输出的分钟,日期和年份命名的目录,并尝试创建一个按时间命名的文件。只需将您的格式更改为不包含/的文件名。

+0

糟糕!是的,我没有意识到这一点。谢谢 ! –