首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除windows中文本文件中的重复项

如何删除windows中文本文件中的重复项
EN

Stack Overflow用户
提问于 2016-01-17 05:35:21
回答 2查看 74关注 0票数 0

我在文本文件中有这种类型的数据。

www.example.com/link1 1

www.example.com/link2 2

。。。有任何方法可以通过命令promtp找到副本吗?

我在窗户上

我检查了其他答案,但它们都是针对linux的。

PS:我不仅需要找到它们,还需要删除副本。它们是文本文件中的数千个URLS,显然是数百个副本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-17 05:51:20

你需要找到这些副本有什么原因吗?

如果您需要找到它们以删除它们,我建议将这些信息复制到excel电子表格中。excel中有一些筛选选项,可以帮助您整理您选择的信息。

这里有一个可能帮助您解决问题的链接:

在Excel中查找副本

如果这不是你要找的,我很抱歉。

票数 0
EN

Stack Overflow用户

发布于 2016-01-17 06:26:46

代码语言:javascript
运行
复制
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "sourcedir=U:\sourcedir"
SET "filename1=%sourcedir%\q34835472.txt"
SET "last="
FOR /f "delims=" %%a IN ('sort "%filename1%"') DO (
 IF "%%a"=="!last!" ECHO %%a
 SET "last=%%a"
)
GOTO :EOF

您需要更改sourcedir的设置以适应您的情况。

我使用了一个名为q34835472.txt的文件,其中包含了一些测试数据。

这无疑会显示出对某些字符的敏感性,这在批处理脚本中是常见的,但考虑到您提供的小示例,这不太可能是一个问题。

它的工作方式是简单地对文件进行排序,然后检测每一行是否与前一行完全相同,因为sort将将相同的行组合在一起。

总是最好提供要解决的实际问题--节省浪费的精力。

代码语言:javascript
运行
复制
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
DEL u:\result.txt 2>nul
ECHO START AT %time%
SET "sourcedir=U:\sourcedir"
SET "filename1=%sourcedir%\q34835472.txt"
SET "filename2=%sourcedir%\q34835472.xtx"

SORT "%filename1%" /t u:\ /o "%filename2%"

SET "last="
PUSHD "U:\"
FOR /f "usebackqdelims=" %%a IN ("%filename2%") DO (
 IF "%%a" neq "!last!" SET "last=%%a"&>>u:\result.txt ECHO %%a
)
POPD

ECHO end   AT %time%
GOTO :EOF

注意到U:是一个漫游者。

sort使用可用的最快选项执行,包括使用/t选项作为临时位置,而不是te默认值(一般临时目录%temp%,通常是常规驱动器)。

使用包含~5 5Mlines的110 my源文件,在我的机器上花费了不到12分钟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34835472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档