weixin_42734536
weixin_42734536
采纳率75%
2019-08-08 16:08

Linux统计每一个txt文件中关键字出现的次数(目录下有很多txt文件)。

1.Linux下需要统计当前文件夹内每一个txt文件里关键字出现的次数,注意不是统计所有的总次数,是要统计并返回每一个txt里的。
2.我的每个txt里关键字“successfully”出现的次数应该6,但是有一个里面出现的次数不是6,想把它找出来。

ls *log |wc -l
858
grep -o "successfully" *log | wc -l
5142

我的总的log文件应该是858个,总的关键词统计应该为5148,但是只有5142,想找出缺少的那一个。
谢谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • u014692474 SDFHioxd 2年前

    还可以用脚本解决,如果需要经常执行此操作,脚本方便一些,稍加更改还能输出到日志文件

    #!bin/sh
    for file in /test/*.log ;
    do
        if test -f $file 
        then
             e=`grep 关键字 "$file"|wc -l` 
             echo "关键字--"$file"--"$e
    
        else
            echo $file 是目录
        fi
    done
    
    
    

    自己建个脚本,每次需要只要执行一下脚本就行了

    点赞 评论 复制链接分享
  • xu20001 xu20001 2年前

    查找  当前目录下以log结尾的文件,统计文件中**"关键字"**的个数 过滤掉**"关键字"**个数为0的情况
    并 根据:分割域,按照第二个的 按照"number"类型的个数排序(升序)

    find . -name "*.log"  | xargs grep -c "关键字" | awk -F ":" '($2>0) {print $0}' | sort -t ":" -k 2,2nr

    点赞 2 评论 复制链接分享