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

[文本处理] 【已解决】批处理比对两个文本文件的问题

本帖最后由 thp2008 于 2023-6-21 11:14 编辑

比如,我有两个文本文件,yuanshi.txt  new.txt
yuanshi.txt 是比较全的里面都是汉字名称,没有其它字符。
想将new.txt里的所有行跟yuanshi.txt里的所有行进行比较,删除掉new.txt里面,在yuanshi.txt里已存的行,
最终输出的结果,new.txt里只保留yuanshi.txt里不存在的行。或者将new.txt里在yuanshi.txt中这些不存在的行,单独输出到另一个文件也行。

示例:

yuanshi.txt
波尔多
勃艮第
香槟区
罗纳河谷
卢瓦尔河谷
阿尔萨斯
西南产区
朗格多克鲁西荣
威尼托
安布里亚
阿布鲁佐
皮尔蒙特
坎帕尼亚
维罗纳

new.txt
卢瓦尔河谷
普罗旺斯科西嘉
阿尔萨斯
西南产区
朗格多克鲁西荣
托斯卡纳
西西里岛
威尼托

比对后,输出结果:
普罗旺斯科西嘉
托斯卡纳
西西里岛

另外,我还发现了一个问题。
本来我想把TXT全部保存为ANSI来操作的,但我发现,有少量汉字,不能保存为ANSI,否则显示为??
比如:䴙、䴘、类似这种汉字,就不行,但保存为UTF-8就不会乱码,问题又来了,保存为UTF-8,命令行下,就显示乱码。

只要能完成,比较这两个文本文件的行就行,不管用什么方式,第三方工具也行,我需要的是结果。

这两个问题,该如何处理。感谢大家。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 thp2008 于 2023-6-21 11:39 编辑

回复 2# 77七

感谢,非常好用,两个要求都满足了。高手。

另外,我想问下,我想将输出的New.txt,统计所有有文字的行数,该如何统计,谢谢!

TOP

回复 3# hfxiang

感谢你的帮助,我试了一下,这个方法也可以,但是就是保存为ANSI,会产生少量特别的汉字,乱码的问题不行。

第二个工具可以。

TOP

回复  thp2008


   已在2楼代码上修改。
77七 发表于 2023-6-21 11:14


非常感谢

TOP

本帖最后由 thp2008 于 2023-6-21 11:37 编辑

回复 8# buyiyang

我测试了,可以,没有问题。

输出结果在result.txt中,完全正确。

TOP

本帖最后由 thp2008 于 2023-6-22 11:29 编辑

回复 10# aloha20200628

学习中,感谢分享!
但是我使用
  findstr /rv /g:"yuanshi.txt" "new.txt">"new.new"

测试比对后,发现结果,不准确,有一些是重复的,也在里面。

TOP

回复  aloha20200628

问题在于findstr只支持ANSI
buyiyang 发表于 2023-6-22 14:27



    不怪得

TOP

返回列表