将日期戳插入headername下的单元格中

时间:2017-06-13 04:23:56

标签: bash terminal

每次执行bash脚本时,我都需要将日期/时间插入名为neworder.csv的csv文件中。日期/时间需要格式化为YYYYDDMM-HRMMSEC

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

文件中的标题名称称为DATEOFORDER。此文件通常有3行但可以有多行。

谢谢

2 个答案:

答案 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