重命名文件我有在這種格式今天的日期文件:猛砸使用方昨日
testfile - 2014-10-07-08-01-30.CSV
我需要重命名文件:
newone_2014-10-06.CSV
注意,更改日期到前一天。
我會每天運行一個cron。 我將如何在bash腳本中執行此操作?
重命名文件我有在這種格式今天的日期文件:猛砸使用方昨日
testfile - 2014-10-07-08-01-30.CSV
我需要重命名文件:
newone_2014-10-06.CSV
注意,更改日期到前一天。
我會每天運行一個cron。 我將如何在bash腳本中執行此操作?
mv "testfile - $(date +'%Y-%m-%d')-08-01-30.CSV" "newone_$(date -d '-1 day' +'%Y-%m-%d').CSV"
完美!謝謝! – GreetRufus 2014-10-07 17:33:32
這隻有在文件已經在'08:01:30'準確創建時纔有效。不是很穩定... – hek2mgl 2014-10-07 17:36:33
@ hek2mgl有一個好點。如果你知道這個日期/時間戳只有*一個*文件,那麼實際上可能會比glob更好,因爲glob只能擴展爲一個文件。我不會說它是安全的,但它在行爲上可能更具可預測性/穩定性。例如:'mv「testfile - $(date +'%Y-%m-%d') - *。CSV'或'-08 - *。CSV' – bryn 2014-10-07 18:44:49
可以使用date
命令:
filename=$(date -d "-1 day" +'%Y-%m-%d')
date命令支持指定像-d '-1 day'
相對時間戳。
要重命名文件使用mv
命令:
mv -v old_file_name "testfile - $(date -d "-1 day" +'%Y-%m-%d').CSV"
上一頁日期截至目前,還是以前的日期爲文件名的? – 2014-10-07 17:20:34
爲什麼你要在這樣的日期文件上滾動「datestamp」?這裏的情況如何? – 2014-10-07 17:24:22
每天會有一個文件在當前日期。至於爲什麼?我們是否真的從我們的客戶那裏得到答案? – GreetRufus 2014-10-07 17:28:54