You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何实现移除行首URL重复的行?

如何实现移除行首URL重复的行?

嘿,这个需求我熟!要移除行首URL重复的行,分几种场景给你说简单实用的方法:

用命令行工具(快速高效)

如果你的文本是存成文件的,用awk命令就能一键搞定,这也是我平时处理这类问题最常用的方法:

awk '!seen[$1]++' 你的输入文件名.txt > 去重后的输出文件名.txt

原理很简单:awk会逐行读取文本,把每行的第一个字段(也就是行首的URL,因为URL里没有空格)作为键存入seen集合,第一次遇到的URL就保留该行,之后重复的直接跳过,最后把结果写入新文件。

用文本编辑器操作(可视化)

要是你习惯用编辑器手动处理,比如VS Code,步骤如下:

  • 先把所有行按URL排序:点击顶部菜单的「编辑」→「排序行」,这样相同URL开头的行会挨在一起。
  • 用正则表达式替换删除重复行:打开替换面板(Ctrl+H),勾选「正则表达式」选项,在查找框输入^(https?://[^\s]+).*\n^\1.*$,替换框输入$1,然后点击「全部替换」。

注:如果重复行不是连续的,排序这一步很关键,能让重复项集中在一起方便处理。

用Python脚本(灵活自定义)

如果需要更灵活的逻辑(比如要保留特定的重复行,比如带#1还是#2的),写个简单的Python脚本就可以:

seen_urls = set()
# 替换成你的输入文件路径
with open('input.txt', 'r', encoding='utf-8') as infile, open('output.txt', 'w', encoding='utf-8') as outfile:
    for line in infile:
        line = line.strip()
        if not line:
            continue
        # 按「 - 」分割,提取行首的URL
        url = line.split(' - ')[0]
        if url not in seen_urls:
            seen_urls.add(url)
            outfile.write(line + '\n')

这个脚本会读取输入文件,记录已经出现过的URL,只保留每个URL对应的第一行,最后写入输出文件。你也可以修改逻辑,比如保留每个URL的最后一行,或者根据后面的歌曲编号筛选。

备注:内容来源于stack exchange,提问作者Gouraya4912

火山引擎 最新活动