[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]bat或vbs删除重复数据

本帖最后由 w1983912 于 2017-11-16 01:01 编辑

BAT 或者vbs

入txt

若干txt  1-1000多个  每个txt 约有5万行左右数据,淡然也可以分割后处理


每行数据组成:###后为数字   前为  符号 字母 数字 中文 其他文都有可能

以1.txt开始


游戏###450
高 1aaa###9910
游戏###150
123可以 哈么###1
kdkekke###70001
游戏game###450

先把 ###号前的字符串 绝对匹配 删除重复的 除第一条外 (保留行号最小的那条)
输出格式为: @@@游戏###450!!!       @@@ ### !!! 这3个也可以换成别的 最好赋值吧  方便我换成别的字符

@@@游戏###450!!!
@@@高 1aaa###9910!!!
@@@123可以 哈么###1!!!
@@@kdkekke###70001!!!
@@@游戏game###450!!!


保存为all.txt文件


然后进入处理2.txt   删除掉 前部分重复的数据 再和all.txt 比较是否有重复的    不重复的都加进all.txt 按顺序  如1.txt  然后是2.txt写入all.txt    .......


最好先处理 单个txt  因为单个小的txt重复可以处理的快吧  

具体方式 按你的来  高效处理为好

有劳各位朋友帮忙一下 先谢谢了

所有文件都合为一个文件1.txt,用gawk去重复,速度很快
  1. gawk -F# "{a[$1]++;if(a[$1]==1)print $0}" t.txt>>1.txt
复制代码

TOP

回复 2# wjx515


    谢谢关注和帮忙,似乎无法使用

继续请教各位朋友,谢谢

TOP

本帖最后由 CrLf 于 2014-7-23 13:26 编辑

回复 2# wjx515


    在 {} 之外的部分是条件,条件后如果有代码块则执行代码块,如果没有则默认为 {printf},所以可以简写:
  1. gawk -F# "!a[$1]++" t.txt>>1.txt
复制代码

TOP

回复 3# w1983912


    下载一个 gawk.exe

TOP

回复 5# DAIC


    谢谢楼上的exe文件,成功了也感谢大家的帮忙 谢谢

TOP

回复 4# CrLf


    多谢大师指导!

TOP

返回列表