使用 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
根据要求提供进一步说明。
我正在将删除的记录计数写入 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
根据要求提供进一步说明。