我正在将删除的记录计数写入unix中的文件。以下是日志文件的结构。
使用unix命令我该怎么做?
查找已删除记录的总数?
查找已删除的总计数 按日记录?
下面的日志文件结构:
2015-03-16 15:43:59 DEBUG LoadClass:147 - 从表中删除了10个。
2015-03-17 15:44:59 DEBUG LoadClass:147 - 从表中删除1。
2015-03-19 15:45:59 DEBUG LoadClass:147 - 从表中删除了5。
2015-03-19 15:46:59 DEBUG LoadClass:147 - 从表中删除了8。
答案 0 :(得分:2)
您可以使用awk
来执行此操作:
awk '/Deleted/{a[$1]+=$(NF-2); tot+=$(NF-2);} \
END{ for (i in a) print i, a[i]; print "total:", tot}' file
如果您的文件格式与您的示例不同,您可能需要调整模式(Deleted
)和记录计数的字段编号(NF-2
)。
答案 1 :(得分:1)
perl在这里运作良好:
perl -anE '
if (/Deleted (\d+)/) {$total += $1; $count{$F[0]} += $1;}
} END {
say "total: $total";
say "$_: $count{$_}" for (sort keys %count);
' file
total: 24
2015-03-16: 10
2015-03-17: 1
2015-03-19: 13
根据要求进一步解释。