不久前,我开始编写一些东西来解析一些应用程序日志,并认为一切都很好,但今天我注意到一些数据丢失,这是因为时间戳问题。日志结构是这样的:
f_timestamp,f_timestamp2,f_date
1729448207,303701614,2024/10/20 19:16:47 303701614
1729415974,96090458,2024/10/20 19:16:47 096090458
我需要纳秒精度,我所做的就是粗暴地将
f_stampstamp
和f_timestamp2
粘在一起
awk -F ',' '{print $0 FS $1$2}' filein.csv > fileout.csv
f_timestampf_timestamp2
:
1729448207303701614
172941597496090458
问题是 f_timestamp2 有时是 8 位数字 - 前导 0 意味着我的日期已经过了几个月
我知道有两种方法可以解决这个问题
在
f_date列上使用
split
awk -F',' 'NR==1{print "f_timestampf_timestamp2"}
NR>1{split($3,arr," "); print $1""arr[3]}' file
f_timestampf_timestamp2
1729448207303701614
1729415974096090458