Board logo

标题: [文本处理] 批处理怎么删除一个文本里与另一个文本相同的行内容? [打印本页]

作者: frelce    时间: 2010-12-3 20:21     标题: 批处理怎么删除一个文本里与另一个文本相同的行内容?

本帖最后由 pcl_test 于 2016-7-8 02:14 编辑

如题求解!

如1.txt内容为    2.txt内容为
123123123     123123123
123123132     123123132
321231321     321231321
                       321231231
                       231312313
                       23123132

求解!
就是每隔30,秒读取1.txt   复制到2.txt   删除2.txt  里面存在的1.txt的内容  输出为3.txt

1.txt  和2.txt里面的内容 随机的就算是程序的日志文件!

这里拜托大家了。。
万分感谢!
作者: wc726842270    时间: 2010-12-3 23:18

有些不懂,复制完了再删除是为何啊
作者: frelce    时间: 2010-12-4 19:46

是删除2里面存在有1里面的内容。。
作者: landry    时间: 2010-12-4 21:14

这个还真蛮有意思的。

等待高手的答案
作者: hanyeguxing    时间: 2010-12-5 07:28

楼主需要说明以下情况:
1,1.txt中是否包含=或!等英文敏感字符。如果包含,必须说明包含哪些。
2,1.txt是否处于变化中。
3,每次比较后输出的不同是覆盖3.txt还是追加到3.txt。
以下代码运行要求:不包含敏感字符,1.txt不处于变化中,追加不同到3.txt,文本均为ANSI编码
  1. @echo off
  2. for /f "delims=" %%a in (1.txt) do set #%%a==
  3. :a
  4. (for /f "delims=" %%a in (2.txt) do if not defined #%%a echo %%a)>>3.txt
  5. >nul ping -n 30 127.1
  6. goto:a
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2