最近准备跳槽,面试一家公司的时候被问到linux常用命令,比如一个日志文件我要统计某字符串一共出现了几次,由于很久没弄linux有点懵,回来赶紧补知识并记录一下。
网上资料有很多,我主要看了三种grep -o /grep -n /awk
grep -o 一条数据里面有多个相同,会统计相同的次数 grep 一条数据里面有多个相同,会统计一次次数
wc [选项] 文件
-c 统计字节数
-l 统计行数
-w 统计字数
为了测试也刚好正打开了StringWriter这个java类,便创建个test.txt文件并将内容拷入,搜索词为public
grep -o targetStr filename | wc -l
grep -o targetStr_1|targetStr_2|targetStr_3…… filename | wc -l # 查多个字符串,这个需加引号
grep -n str filename # 会显示出具体出现的行,但不会显示出现的次数值
awk -v RS="@#$j" '{print gsub(/targetStr/,"&")}' filename