繁体   English   中英

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

[英]awk timestamp set in begin block

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

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。

它可以在较小的文件上正常工作,但是当我使用完整的数据文件时,它将打印多个文件

好的,我知道了这个问题。 我正在调用一个我认为不相关的辅助awk脚本。 很抱歉不包括该内容。 因此,当我在该脚本上调用logger函数时,它将更新timestamp变量。 我通过在脚本上将timestamp更改为timestamp1来解决此问题。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM