使用 cut 从日志中查找总计数的 Unix 命令

Unix commands to find total count from log using cut

我正在将删除的记录计数写入 unix 中的文件。以下是日志文件的结构。

如何使用 unix 命令?

日志文件结构如下:

2015-03-16 15:43:59 DEBUG LoadClass:147 - Deleted 10 from Table.

2015-03-17 15:44:59 DEBUG LoadClass:147 - Deleted 1 from Table.

2015-03-19 15:45:59 DEBUG LoadClass:147 - Deleted 5 from Table.

2015-03-19 15:46:59 DEBUG LoadClass:147 - Deleted 8 from Table.

您可以使用awk来完成:

awk '/Deleted/{a[]+=$(NF-2); tot+=$(NF-2);} \
     END{ for (i in a) print i, a[i]; print "total:", tot}' file

如果您的文件格式不同于你的榜样。

perl 在这里运行良好:

perl -anE '
    if (/Deleted (\d+)/) {$total += ; $count{$F[0]} += ;}
  } 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

根据要求提供进一步说明。