每次执行bash脚本时,我都需要将日期/时间插入名为neworder.csv的csv文件中。日期/时间需要格式化为YYYYDDMM-HRMMSEC
HR=hours
MM=minutes
Sec=seconds(Dont really care for this)
文件中的标题名称称为DATEOFORDER。此文件通常有3行但可以有多行。
谢谢
答案 0 :(得分:1)
date +%Y%d%m"-"%H%M%S.
此命令将为您提供所需的数据,然后只需使用以下内容:
echo "A,B,$(date +%Y%d%m"-"%H%M%S),C,D" >> somefile
答案 1 :(得分:1)
date +%Y%d%m"-"%H%M%S
" date"命令将为您提供输入文件的日期。
您可以使用date --help
现在我们需要将此日期附加到您想要的文件。
这可以通过echo完成:echo "`date +%Y%d%m"-"%H%M%S`" >> filename
注意两个严重的字符。
普通的echo命令只会将日期附加到文件末尾。如果您要在下面的其他行中粘贴日期,则可以使用" 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