找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29567|回复: 10

[文本处理] 批处理如何删除文本中以指定字符分割成的两个字段/列相同的行

[复制链接]
发表于 2014-5-4 15:46:07 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-11 19:10 编辑

批处理BAT如何删除重复文本?
ABCD-----ABCD
ACDE----ACDEAF
CGHC----ABCGHC

上面这3组 左边跟右边完全 一模一样的  删除   
左边跟右边不一样的就保留
第一组删除  留下二三组

请会的朋友帮忙 谢谢!
发表于 2014-5-4 17:00:51 | 显示全部楼层
for /f "tokens=1,2 delims=——" %%a in (1.txt) do if /i "%%a"=="%%b" echo %%a
发表于 2014-5-4 19:52:41 | 显示全部楼层
  1. @echo off
  2. (for /f "tokens=1,2 delims=-" %%a in (1.txt) do (
  3.     if "%%a" neq "%%b" (
  4.         echo %%a----%%b
  5.     )
  6. ))>2.txt
复制代码
 楼主| 发表于 2014-5-5 00:09:05 | 显示全部楼层
回复 2# cjiabing
貌似无法保存 BAT一闪就没了
 楼主| 发表于 2014-5-5 00:11:09 | 显示全部楼层
回复 3# DAIC
批处理的结果都变样了 很长的一段文本被分割成一半 不知道怎么了
发表于 2014-5-5 17:12:48 | 显示全部楼层
回复 5# necnec1


    把你的原始文件压缩之后传上来我试试
 楼主| 发表于 2014-5-6 19:48:49 | 显示全部楼层
回复 6# DAIC


FEC(TT)03-2998 E-CC(TT)22-3001-75CE359CC-----FEC(TT)03-2998 E-CC(TT)22-3001-75CE359CC
FEC(TT)03-2998 E-CC(TT)22-3551-22CE359CC-----ECFEC(TT)03-2998 E-CC(TT)22-3551-22CE359CC

就是这2组文本 你保存为文本文件就行了
发表于 2014-5-6 20:36:28 | 显示全部楼层
借三楼代码小改一下就行了:
  1. @echo off
  2. (for /f "delims=" %%a in (1.txt) do (
  3.     set "str=%%a"
  4.     setlocal enabledelayedexpansion
  5.     if "!str:*-----=!!str:*-----=-----!" neq "!str!" echo !str!
  6.     endlocal
  7. ))>2.txt
复制代码
发表于 2014-5-8 17:10:00 | 显示全部楼层
本帖最后由 blueskyczg 于 2014-5-8 17:11 编辑

回复 8# CrLf
"!str:*-----=!!str:*-----=-----!"
能不能rem下,没看懂,望指教!
发表于 2014-5-8 17:37:45 | 显示全部楼层
!str:*-----=!
是把 ACDE----ACDEAF 替换成 ACDEAF
!str:*-----=-----!
是把 ACDE----ACDEAF 替换成 -----ACDEAF

所以
  1. if "!str:*-----=!!str:*-----=-----!" neq "!str!"
复制代码
相当于
  1. if "ACDEAF----ACDEAF" neq "ACDE----ACDEAF"
复制代码
其实写成这样可能更容易看懂
  1. if "!str:*-----=!-----!str:*-----=!" neq "!str!"
复制代码
发表于 2014-5-9 08:24:52 | 显示全部楼层
回复 7# necnec1


    顶楼就应该给出这种格式的数据,而不是瞎编数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 15:37 , Processed in 0.022518 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表