1

全部,

我有一个大型服务器日志,其中包含以下条目:未从模块中找到

紧随其后的是一个模块的位置的引号。该文件超过 4,800 行,每个模块可能出现超过 100 次。所以,我想做的是 wc -l 之类的东西,但随后只向我显示服务器日志的模块名称部分中唯一值的数量。有任何想法吗?

4

4 回答 4

3

grep -oP '(?<=not found from Module ")[^"]+(?=")' logfile | sort -u | wc -l

于 2012-11-15T20:47:53.987 回答
3
grep 'entry: not found from Module' logfile | sort -u | wc -l
于 2012-11-15T20:50:59.613 回答
1
perl -nlwe '$a{$_}++ }{ print "$_ : $a{$_}" for keys %a' log.txt

为每一行创建一个哈希键,然后在最后打印键。

于 2012-11-15T20:49:40.863 回答
0
awk '{count[$NF]++} END{ for (mod in count) print mod, count[mod] }' file

可能接近您想要的,但如果没有一些样本输入和预期输出,很难猜测。

于 2012-11-15T20:49:34.327 回答