[英]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.