2017-06-13 75 views
0

我需要在每次執行bash腳本時將日期/時間插入名爲neworder.csv的csv文件。日期/時間需要被格式化爲YYYYDDMM-HRMMSEC將日期戳插入單元名下的單元格

HR=hours 
MM=minutes 
Sec=seconds(Dont really care for this) 

文件中的頭名被稱爲DATEOFORDER。此文件通常有3行,但可以有多個。

感謝

+0

使用「日期」,以生成一個日期您希望的格式(將輸出分配給變量),然後使用「sed」將該值插入到您希望的任何文件的第一行。關於如何分別做每個人都有很多例子。 – dood

回答

1
date +%Y%d%m"-"%H%M%S 

「日期」命令會給你輸入文件的日期。 您可以使用date --help

檢查日期命令的格式現在我們需要將此日期附加到所需的文件。 這可以用回聲完成:echo "`date +%Y%d%m"-"%H%M%S`" >> filename請注意兩個嚴重字符。 正常的回顯命令只會將日期追加到文件末尾。如果您有其他行下面要粘貼的日期,你可以使用「sed的」命令:

# first assign the date to a variable 
date=$(date +%Y%d%m"-"%H%M%S) 

# now add to the file with sed 
sed -i "/LINE ABOVE WHERE THE DATE SHOULD BE/a ${date}" filename 

一定要記得用雙引號如此「sed的」將解釋變量。 /a表示「在此行下面添加」,-i編輯文件,因此您不會獲得日期的臨時副本。

如果執行上面的代碼對這個(這是「文件名」):

RANDOM TEXT 
THIS IS THE LINE ABOVE WHERE THE DATE SHOULD BE, THE DATE SHOULD BE BELOW 
RANDOM TEXT 
HELLO, WORLD 

結果會是這個樣子:

RANDOM TEXT 
THIS IS THE LINE ABOVE WHERE THE DATE SHOULD BE, THE DATE SHOULD BE BELOW 
20171706-003334 
RANDOM TEXT 
HELLO, WORLD 
1
date +%Y%d%m"-"%H%M%S. 

此命令會得到你需要的,那麼你可以把它只是使用類似的情況下,數據:

echo "A,B,$(date +%Y%d%m"-"%H%M%S),C,D" >> somefile 
相關問題