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