任务需求:
jason文件中,包含一标示时间的{key,value}对;但时间以UTC表示的长整形数(自1970年到现在的秒数),并不是需要的值,需要进行替换;
{
"waves": [{
"id": "4028815b5755db0201575618977d000c",
"timestamp": 1474458717000000,
"circles": 30,
"samples": 1024,
"flag": 0,
"i0": [88024,
88024,
...
}
必须采用指定的时间值,将以上值替换,为满足此要求的PERL代码如下:
#! /usr/bin/perl -w
die "Usage:perl $0 <infile> <outfile> <timestamp>" unless (@ARGV==3);
open IN,"$ARGV[0]" || die "$!";
open OUT,">","$ARGV[1]" || die "$!";
while ( <IN> ) {
chomp;
if ( /\"timestamp\":.*?,/i ) {
s/\"timestamp\":.*?,/\"timestamp\":$ARGV[2],/g;
}
print OUT $_ . "\n";
}
close(IN);
close(OUT);