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

使用grep命令过滤文本文件中无重复数字的行

使用grep筛选所有数字无重复的行

嘿,这事儿用grep就能完美解决!核心思路就是反向排除那些包含重复数字的行,剩下的就是所有数字都不重复的行了。我直接给你命令和详细解释:

通用命令(支持多位数)

假设你的目标文件是input.txt,执行以下命令:

grep -vE '(\b[0-9]+\b).*\1' input.txt

命令拆解

  • -v:反向匹配模式,意思是排除符合正则表达式的行,留下不符合的行(也就是我们要的数字无重复的行)
  • -E:启用扩展正则表达式,这样不需要额外转义括号、加号这些元字符,写起来更简洁
  • (\b[0-9]+\b):捕获一个完整的数字——\b是单词边界,确保我们匹配的是独立的数字(比如不会把12里的1和单独的1误判为重复),[0-9]+匹配一位或多位数字
  • .*\1:匹配任意数量的任意字符后,再次出现之前捕获的那个数字(\1是反向引用第一个捕获组的内容)

简化版(仅单个数字时可用)

如果你的文件里都是单个数字(比如0-9,没有两位数及以上),可以把正则简化,不用单词边界:

grep -vE '([0-9]).*\1' input.txt

示例验证

假设你的input.txt内容如下:

1 2 3 2
4 5 6
7 8 8 9
10 11 12

运行通用命令后,输出结果会是:

4 5 6
10 11 12

正好符合你要保留无重复数字行的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:57:21