Sublime怎么去除重复行_Sublime如何删除文本中重复内容【详解】

胖宇小哥_2888

胖宇小哥_2888

2026-03-23

732人浏览

原创

Sublime Text 内置 Sort Lines (Unique) 仅能去重相邻重复行,非相邻重复需用正则匹配或外部工具如 awk、Python 处理,且需注意换行符统一和空白字符处理。

sublime怎么去除重复行_sublime如何删除文本中重复内容【详解】

Sublime Text 去重用 Sort Lines 会误删非重复行

直接选中全文后点 Edit → Sort Lines,看起来去重了,其实只是把行按字母序排好,相同内容的行被挤到一起,但没删——你得手动再删重复。这不是去重,是排序。

真正去重必须配合「唯一性过滤」操作:

  • 全选文本(Ctrl+A 或 Cmd+A)
  • 打开命令面板(Ctrl+Shift+P / Cmd+Shift+P)
  • 输入 Sort Lines,选中 Sort Lines (Unique) —— 注意括号里带 Unique 的那个

这个命令本质是先排序、再合并相邻重复行,所以要求重复行必须挨着。如果原始文本里重复行分散在不同位置,它就无效。

重复行不相邻时,得用正则 + Find All 手动清理

比如日志里同一错误反复出现,但中间夹着时间戳或随机 ID,Sort Lines (Unique) 就完全失效。

这时候得靠正则匹配「整行内容」并标记所有重复项(保留第一个):

  • 打开查找(Ctrl+F / Cmd+F),勾选 Regular Expression 和 Whole Line
  • 输入正则:^(.*)(\n\1)+$ —— 匹配连续出现的完全相同的行
  • 但这个只能处理紧邻重复;更通用的是先用 ^([^\r\n]+)\r?\n(?=.*^\1$) 查找所有「后面还有相同行」的行(需开启 Dot matches newline)
  • 点击 Find All,然后 Ctrl+Shift+L 把所有匹配转为多光标,再按 Delete 删掉——注意别删第一处

风险点:正则里 ^ 和 $ 在 Sublime 中默认按 \n 分界,但 Windows 换行符是 \r\n,若文件混用换行符,^ 可能错位,建议先统一用 File → Line Endings → Unix。

插件 Remove Duplicate Lines 看似方便,实则不可靠

很多人搜教程装了同名插件,结果发现它只删「完全相同的连续行」,和内置 Sort Lines (Unique) 能力差不多,甚至更弱——不排序、不保证顺序、不支持跨段落去重。

PicLumen
PicLumen

PicLumen是一款集合 AI 图片、视频、音频生成和图片编辑能力的多媒体创作平台。

下载

而且该插件已多年未更新,Sublime Text 4 下部分功能失效,比如对大文件(>50MB)会卡死或静默失败。

  • 如果你真需要稳定去重,推荐用外部工具:保存文件后,在终端运行 awk '!seen[$0]++' file.txt > dedup.txt
  • 或者用 Python 一行:python3 -c "print(''.join(dict.fromkeys(open('file.txt'))))" > dedup.txt
  • Sublime 内置的 Filter Lines 命令(需安装 Package Control 后搜索安装)比插件更轻量,支持正则过滤,但同样不解决「非相邻重复」问题

去重后顺序乱了?那是你没关掉 Sort 步骤

Sort Lines (Unique) 本质是「排序 + 去重」,原始顺序必然丢失。如果业务要求保留首次出现顺序(比如配置项、URL 列表),就不能用它。

此时唯一办法是导出后用脚本处理,例如 Python:

with open('input.txt') as f:
    seen = set()
    for line in f:
        line = line.rstrip('\n\r')
        if line not in seen:
            print(line)
            seen.add(line)

注意 line.rstrip() 很关键——否则 'abc' 和 'abc '(带空格)会被视为不同行;而 Sublime 自带功能完全不处理首尾空白,容易漏掉逻辑重复。

真正的难点从来不在「怎么点菜单」,而在你是否清楚:重复的定义是什么?是整行字符一致,还是语义等价?后者 Sublime 做不了,得换工具。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

3200

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

269

24

sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

2023.09.04

1158

7

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

2023.11.13

3311

4

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.29

1005

3

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3359

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2918

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1528

3

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2659

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程