linux如何使用grep ,wc -l命令统计一个文件中的多个字符串的个数,并且只读取1次文件。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux如何使用grep ,wc -l命令统计一个文件中的多个字符串的个数,并且只读取1次文件。相关的知识,希望对你有一定的参考价值。
如何使用grep ,wc -l命令统计一个文件中的多个字符串的个数,并且只读取1次文件。
如:我要统计一个文件中的 aaa,bbb,ccc 3个字符串的数目,但为了提高读取效率,不想读3次文件分别搜索3个字符串,而想一次读取同时输出3个字符串的统计数目。
请问应怎么写shell或命令,谢谢了!
这个命令好像用来进行字符串替换的,具体统计多个字符串的个数,应该怎么做
追答你试一下就知道了. 就是统计.为什么不试试呢?
参考技术B more servermon.log | tr ' ' '\n' | sort | uniq -c | grep -E "stopped|server|manually"本回答被提问者采纳 参考技术C #grep [aaa,bbb,ccc] | wc -l追问你这个不能达到目的啊。例如
2011-09-27 17:09:41, server is started!
2011-09-27 17:13:38, server is started!
2011-09-27 17:31:18, server is manually stopped!
2011-09-27 21:05:15, server is started!
2011-09-27 22:32:19, server is started!
2011-09-28 14:55:55, server is started!
使用你的命令:more servermon.log |grep [stopped,server,manually] | wc -l
只能显示:6
不能分别显示:1,6,1
wc -l 最后是计算所有行数 本身就是一个汇总
如果不重复读取 这个我真不会 看看有没有高手解答一下
Linux系统下如何查看CPU个数
查看逻辑CPU个数:#cat /proc/cpuinfo |grep "processor"|sort -u|wc -l
24
查看物理CPU个数:
#grep "physical id" /proc/cpuinfo|sort -u|wc -l
2
#grep "physical id" /proc/cpuinfo|sort -u
physical id : 0
physical id : 1
查看每个物理CPU内核个数:
#grep "cpu cores" /proc/cpuinfo|uniq
cpu cores : 6
每个物理CPU上逻辑CPU个数:
#grep "siblings" /proc/cpuinfo|uniq
siblings : 12
判断是否开启了超线程:
如果多个逻辑CPU的"physical id"和"core id"均相同,说明开启了超线程,或者换句话说
逻辑CPU个数 > 物理CPU个数 * CPU内核数 开启了超线程
逻辑CPU个数 = 物理CPU个数 * CPU内核数 没有开启超线程
一次性查询所有信息:
#!/bin/bash
physicalNumber=0
coreNumber=0
logicalNumber=0
HTNumber=0
logicalNumber=$(grep "processor" /proc/cpuinfo|sort -u|wc -l)
physicalNumber=$(grep "physical id" /proc/cpuinfo|sort -u|wc -l)
coreNumber=$(grep "cpu cores" /proc/cpuinfo|uniq|awk -F‘:‘ ‘{print $2}‘|xargs)
HTNumber=$((logicalNumber / (physicalNumber * coreNumber)))
echo "****** CPU Information ******"
echo "Logical CPU Number : ${logicalNumber}"
echo "Physical CPU Number : ${physicalNumber}"
echo "CPU Core Number : ${coreNumber}"
echo "HT Number : ${HTNumber}"
echo "*****************************"
执行结果:
#./cpuinfo
****** CPU Information ******
Logical CPU Number : 24
Physical CPU Number : 2
CPU Core Number : 6
HT Number : 2
*****************************
以上是关于linux如何使用grep ,wc -l命令统计一个文件中的多个字符串的个数,并且只读取1次文件。的主要内容,如果未能解决你的问题,请参考以下文章