2012-12-10 84 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

糟糕!是的,我沒有意識到這一點。謝謝 ! –