我有这样一个自定义日志文件的输出:
8 24 yum
8 24 yum
8 24 make
8 24 make
8 24 cd
8 24 cd
8 25 make
8 25 make
8 25 make
8 26 yum
8 26 yum
8 26 make
8 27 yum
8 27 install
8 28 ./linux
8 28 yum
我想知道是否有统计第三个字段的特定值的数量。例如,我可能想计算 cd
、yum
和 install
的数量。
最佳答案
您可以使用 awk
来获取第三个字段的值,并使用 wc -l
来计算数量。
awk '$3=="cd"||$3=="yum"||$3=="install"||$3=="cat" {print $0}' file | wc -l
您也可以使用 egrep
,但这不仅会在第三个字段中查找这些词,还会在该行的其他任何地方查找这些词。
egrep "(cd|yum|install|cat)" file | wc -l
如果你想计算第三个字段中的特定单词,那么你可以在没有多个正则表达式的情况下执行上述操作。
awk '$3=="cd" {print $0}' | wc -l
关于Linux-关于排序shell输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18494222/