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

如何使用grep去除日志中匹配com.a的重复行,获取所有唯一匹配结果

grep匹配去重实现方案

原命令问题说明

你使用的grep -m1 'com.a' filename中,-m1参数的作用是匹配到第一条符合规则的行后直接终止运行,因此只会输出第一条com.ab,无法返回所有不同的匹配结果。

可直接使用的实现命令

以上方案均会输出你需要的去重结果:

com.ab
com.ac
com.ad

方案一:grep搭配去重工具(兼容性最强,推荐使用)

先通过grep过滤所有匹配com.a规则的行,再去重:

  • 不要求保留原始出现顺序时,用sort+uniq去重:
    grep 'com.a' filename | sort | uniq
    
  • 要求保留不同匹配项的首次出现顺序时,用awk去重:
    grep 'com.a' filename | awk '!seen[$0]++'
    

方案二:纯grep实现(仅支持GNU grep环境)

如果不允许借助其他工具,仅用grep可以用以下命令实现:

grep -m1 -Ff <(grep 'com.a' filename | sort -u) filename

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:45:02