我需要在每次執行bash腳本時將日期/時間插入名爲neworder.csv的csv文件。日期/時間需要被格式化爲YYYYDDMM-HRMMSEC將日期戳插入單元名下的單元格
HR=hours
MM=minutes
Sec=seconds(Dont really care for this)
文件中的頭名被稱爲DATEOFORDER。此文件通常有3行,但可以有多個。
感謝
我需要在每次執行bash腳本時將日期/時間插入名爲neworder.csv的csv文件。日期/時間需要被格式化爲YYYYDDMM-HRMMSEC將日期戳插入單元名下的單元格
HR=hours
MM=minutes
Sec=seconds(Dont really care for this)
文件中的頭名被稱爲DATEOFORDER。此文件通常有3行,但可以有多個。
感謝
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
date +%Y%d%m"-"%H%M%S.
此命令會得到你需要的,那麼你可以把它只是使用類似的情況下,數據:
echo "A,B,$(date +%Y%d%m"-"%H%M%S),C,D" >> somefile
使用「日期」,以生成一個日期您希望的格式(將輸出分配給變量),然後使用「sed」將該值插入到您希望的任何文件的第一行。關於如何分別做每個人都有很多例子。 – dood