标题: [文本处理] 【已解决】请教批处理带参数的文本文档一键去重问题 [打印本页]
作者: zhuan1688 时间: 2022-3-4 15:11 标题: 【已解决】请教批处理带参数的文本文档一键去重问题
本帖最后由 zhuan1688 于 2022-3-5 09:53 编辑
批处理之家帮我个人解决了很多的问题,在此向管理员和各位无私奉献的大神表示感谢!
新问题是,TXT文件里有一万行内容,每行的格式都是:网址/?id=数字,但是网址有大量重复的,这种带参数的怎么一键去重?
如:
http://www.1.com/?id=2
http://www.2.com/?id=9
http://www.3.com/?id=21
http://www.1.com/?id=28
http://www.4.com/?id=8
把 http://www.1.com/ 去重只保留一个
不知道能不能实现,请各位大神赐教,无比感激
作者: went 时间: 2022-3-4 18:36
test.bat- @echo off & cd /d "%~dp0"
- set "file=1.txt"
- (
- for /f "usebackq tokens=1-4 delims=./" %%i in ("%file%") do (
- if not defined _%%k (
- echo %%i//%%j.%%k.%%l/
- set "_%%k=1"
- )
- )
- )>"%file%_NEW"
- move /y "%file%_NEW" "%file%"
- pause&exit
复制代码
作者: zhuan1688 时间: 2022-3-4 21:28
回复 2# went
感谢老师的指教,我是想保留参数,比如
http://www.1.com/?id=2
http://www.2.com/?id=9
http://www.3.com/?id=21
http://www.1.com/?id=28
http://www.4.com/?id=8
去重后是
http://www.1.com/?id=2
http://www.2.com/?id=9
http://www.3.com/?id=21
http://www.4.com/?id=8
而且网址格式很乱,有的带www,有的不带,有的是com有的是com.cn,有的是四级域名等等,不知道这样的能不能实现
作者: went 时间: 2022-3-4 22:21
回复 3# zhuan1688
这样吗?- @echo off & cd /d "%~dp0"
- set "file=1.txt"
- (
- for /f "usebackq delims=" %%i in ("%file%") do (
- if not defined %%~pi (
- echo %%i
- set "%%~pi=1"
- )
- )
- )>"%file%_NEW"
- move /y "%file%_NEW" "%file%"
- pause&exit
复制代码
作者: zhuan1688 时间: 2022-3-5 09:53
回复 4# went
感谢老师帮助,完美解决,祝您万事如意,结贴
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |