You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选目录中含特定单词次数最多的XML文件?

过滤出单词出现次数最多的XML文件

你可以基于原命令的输出,通过排序和筛选来实现需求,下面是两种场景的解决方案:

场景1:只输出单个次数最多的文件(若有多个最大值,取最后一个)

直接在原命令后追加排序和取尾行的操作:

find -name "*.xml" | xargs grep -c -H -w "word" | sort -t: -k2 -n | tail -n1

各部分作用:

  • sort -t: -k2 -n:以冒号:为分隔符,按第二列的次数做数字升序排序
  • tail -n1:取排序后的最后一行,也就是次数最高的那一项

场景2:输出所有次数最多的文件(处理多个文件次数相同的情况)

如果存在多个文件的单词出现次数同为最大值,用下面的命令可以全部输出:

find -name "*.xml" | xargs grep -c -H -w "word" | awk -F: '{print $2, $0}' | sort -n | awk 'NR==1{max=$1} $1==max{print $2}'

逻辑拆解:

  1. awk -F: '{print $2, $0}':把次数移到每行开头,输出格式变为「次数 文件名:次数」
  2. sort -n:按次数做数字升序排序
  3. awk 'NR==1{max=$1} $1==max{print $2}':先记录第一行的次数作为最大值,再输出所有次数等于最大值的原行

内容的提问来源于stack exchange,提问作者Autechre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 00:35:28