在开始块中设置的awk时间戳

时间:2016-01-05 00:45:25

标签: awk strftime

我在开始区块中设置时间戳:

BEGIN  { 
  timestamp = strftime("%Y%m%d%H%M%S");
}

我不会在脚本的其余部分再次更新时间戳。我希望时间戳不会改变,但确实如此。

稍后在脚本中,我将$0打印到文件:

FNR>1{
  #do some stuff
  print $0 > "/mnt/data/logs/TEST_"timestamp".csv"
  ...

时间戳更改并继续打印到新文件。 。 。 TEST_1.csv,TEST_2.csv。 。

它在小文件上按预期工作,但当我使用完整数据文件时,它会打印多个文件

1 个答案:

答案 0 :(得分:0)

好的伙计们,我想出了这个问题。我正在调用一个我认为不相关的辅助awk脚本。很抱歉不包括原来的。因此,当我在该脚本上调用记录器函数时,它会更新timestamp变量。我通过简单地将时间戳更改为我的脚本上的timestamp1来修复此问题。

感谢所有回应,并忍受我的经验不足!