所有
我有一个包含条目的大型服务器日志: 没有从模块中找到
在引号之后立即跟随模块的位置。该文件长度超过4,800行,每个模块可能出现超过100次。所以,我想做的是类似于wc -l,但是只显示服务器日志的模块名称部分中的唯一值的数量。有什么想法吗?
答案 0 :(得分:2)
grep -oP '(?<=not found from Module ")[^"]+(?=")' logfile | sort -u | wc -l
答案 1 :(得分:2)
grep 'entry: not found from Module' logfile | sort -u | wc -l
答案 2 :(得分:0)
awk '{count[$NF]++} END{ for (mod in count) print mod, count[mod] }' file
可能接近你想要的但是没有一些样本输入和预期输出就很难猜到。
答案 3 :(得分:0)
perl -nlwe '$a{$_}++ }{ print "$_ : $a{$_}" for keys %a' log.txt
为每一行创建一个哈希键,然后在最后打印键。