# 去除重复行

对列表或文本块中的行去重。保留每行的首次或最后一次出现，支持区分大小写、比较前修剪空白和忽略空行。

> 标准页面: https://elysiatools.com/zh/tools/remove-duplicate-lines

- **分类:** Text Processing

- **关键词:** 去除重复行, 文本去重, 删除重复行, 去重, 唯一行

## 概述

删除列表或文本块中的重复行，并报告删除了多少行。适用于清理 CSV、日志、URL 列表、关键词清单以及任何重复悄悄混入的地方。

**保留模式：**
- **首次出现**——当一行出现多次时，保留*第一份*副本，后续副本删除。这是常用选择：保留你粘贴时的原始自上而下顺序。
- **最后一次出现**——改为保留*最后一份*副本。当你最信任最新条目时有用（如日志中最新行覆盖更早的行）。

**比较选项：**
- **区分大小写**（默认开启）——把 `Apple` 和 `apple` 当作不同行。关闭则视为重复。
- **比较前去除空白**——在判断两行是否相等前，先去掉每行首尾的空格和制表符，这样 `  hello` 和 `hello` 算作同一行。（修剪仅用于比较；保留行中的原始空格在输出中保持不变。）
- **忽略空行**——把空行（无字符或只有空白）直接丢弃，而不是合并成一个。

**须知：**
- 仅整行比较——本工具不会对行内的单个词或字段去重。
- 元数据中的计数告诉你原始行数、保留行数，以及确切删除了多少重复行，方便你确认清理效果。

## 输入项

- **文本** (textarea): Paste a list or text block with duplicate lines...
- **保留** (select)
- **区分大小写** (checkbox)
- **比较前去除空白** (checkbox)
- **忽略空行** (checkbox)

## 适用场景

- 需要清理包含重复项的 URL 列表、关键词清单或邮箱地址列表时。
- 分析系统日志文件，需要去除重复的错误记录并保留最新或最早的条目时。
- 整理 CSV 数据或纯文本表格，需要快速剔除整行重复的数据行时。

## 工作原理

- 在输入框中粘贴需要去重的文本或列表内容。
- 选择保留规则（首次出现或最后一次出现），并根据需要勾选是否区分大小写、比较前去除空白或忽略空行。
- 工具将自动进行整行对比，移除重复行并实时输出去重后的文本及行数统计。

## 使用案例

- 整理营销推广名单，剔除重复的客户邮箱或电话号码。
- 清理代码或配置文件，移除多余的重复配置项或空行。
- 过滤爬虫抓取的网页链接，生成唯一的 URL 待爬取清单。

## 常见问题

### 这个工具可以对一行内的单个单词去重吗？

不可以，本工具仅支持整行对比和去重，无法对行内的局部词汇进行处理。

### “比较前去除空白”会修改我保留的行吗？

不会，该选项仅在对比时临时忽略首尾空格，输出的保留行仍会维持原始的空格格式。

### 什么是“保留最后一次出现”？

当某行出现多次时，系统会保留文本中最后一次出现的该行，并删除之前的所有重复副本。

### 勾选“忽略空行”有什么作用？

它会直接过滤并删除所有无字符或仅含空白字符的空行，而不是将它们合并保留为一个空行。

### 默认情况下会区分大小写吗？

是的，默认开启区分大小写。例如“Apple”和“apple”会被视为不同的行，若需合并去重请关闭该选项。

## 相关工具

- [空白字符标准化](https://elysiatools.com/zh/tools/whitespace-normalizer): 将连续的多个空格/制表符替换为单个空格;去除行首行尾空白
- [空行清理](https://elysiatools.com/zh/tools/empty-line-remover): 移除文本中所有没有任何内容的空行
- [HTML标签清理器](https://elysiatools.com/zh/tools/html-tag-stripper): 移除HTML标签，提取干净的文本内容
- [行号删除器](https://elysiatools.com/zh/tools/line-number-remover): 智能识别和删除文本或代码中的行号
- [非字母数字清理器](https://elysiatools.com/zh/tools/non-alphanumeric-cleaner): 从文本中移除所有非字母数字的特殊字符，提供灵活的保留选项
- [数字格式清理器](https://elysiatools.com/zh/tools/number-format-cleaner): 统一和清理文本中的各种数字格式，确保一致性
- [前缀删除器](https://elysiatools.com/zh/tools/prefix-remover): 智能识别并删除每行开头的相同前缀，提供多种检测模式
- [后缀删除器](https://elysiatools.com/zh/tools/suffix-remover): 智能识别并删除每行末尾的相同后缀，提供多种检测模式

## 示例

- [重复行示例](https://elysiatools.com/zh/samples/text-duplicate-line-samples): 用于测试重复行移除工具的各种重复行类型的示例文件
- [特殊字符示例](https://elysiatools.com/zh/samples/text-special-characters-samples): 用于测试非字母数字字符移除的各种特殊字符、标点符号和符号的示例文本文件
- [代码注释示例](https://elysiatools.com/zh/samples/code-comment-samples): 用于测试注释移除的各种注释样式代码示例文件
- [Android Java 文件操作示例](https://elysiatools.com/zh/samples/android-file-operations-java): Android Java 文件操作示例，包括文本文件读写、文件复制移动、目录遍历和文件验证

## 相关内容

- [文本大小写、编码与规范化转换工具](https://elysiatools.com/zh/hubs/text-convert): 在一个专题中比较文本大小写转换、全半角转换、编码转换、Quoted-Printable 处理和行内文本规范化工具。
- [Text 工具专题](https://elysiatools.com/zh/hubs/text-utility): 探索 33 个围绕 text 的 utility 工作流工具，快速找到相近能力。
- [文本分析、可读性与内容检查工具](https://elysiatools.com/zh/hubs/text-analyze): 在一个专题中比较文本统计、语言识别、可读性评分、情感分析、内容审核和模式分析工具。
- [文本脱敏、高亮与展示格式化工具](https://elysiatools.com/zh/hubs/text-format): 在一个专题中比较文本脱敏、PII 检测、电话号码规范化、重点高亮、居中排版和 diff 格式化工具。
