批處理新手入門導讀[視頻教程]批處理基礎視頻教程[視頻教程]VBS基礎視頻教程
[批處理文件精品]批處理版照片整理器[批處理文件精品]純批處理備份&還原驅動在線第三方下載
返回列表 發帖

[文本處理] 如何用BAT批處理文件對比剔除2個TXT文件帶有特定重復行內容的行?

現在有A.txt和B.txt ,這2個TXT文件,
A.txt為主文件,(比如大小為1M,內有1萬行IP地址信息,不帶端口號),文本內容每行例如 110.39.175.2
B.txt為需要進行篩選的文本(內有3000行新的IP地址信息,帶有端口號), 文本內容每行例如 110.39.175.2:5566

現在需要一個BAT文件,比對A,B 這2個txt文件,對B文件進行篩選,去掉所有和A有重復的行,輸出C.txt  

注意:A,B 內容每行都是IP地址,B不同的是帶有端口號,在篩選的時候需要忽略B文件的 : 和 端口號 后 在生成 C文本


范例

====文本A內容(IP地址),作為參考母版====比如有12行=======

110.39.175.2
113.53.53.138
155.138.133.21
103.89.24.4
176.110.154.59
136.244.101.170
103.28.121.58
106.54.219.223
141.164.58.56
150.138.106.80
155.138.131.165
139.99.91.22



====文本B內容(IP地址+端口,: 是IP和端口的分割符), 作為需要篩選的對象=====有5行,忽略:和端口號后,其中3行和A有重復=======


110.39.175.2:5566
113.53.53.138:8080
155.138.133.21:80
113.53.53.138:1080
152.138.183.25:8888



====輸出文本C,在B剔除和文本A字段重復后的結果=============

113.53.53.138:1080
152.138.183.25:8888

照你這例子應該只有一行不重復
152.138.183.25:8888
  1. findstr /v /G:A.txt B.txt
復制代碼

TOP

本帖最后由 beiwe 于 2020-7-5 20:28 編輯

回復 2# went


  謝謝大神回答
但是我剛剛試了一下你的批處理,有對比的過程,不過速度非常慢,最后也沒有生成剔除后的結果后的 C.txt文件
還請大神們幫幫忙

TOP

回復 3# beiwe
加個重定向
  1. @echo off
  2. findstr /v /G:A.txt B.txt >C.txt
  3. pause&exit
復制代碼

TOP

回復 4# went


   

大神,按新的代碼運行了后反而沒有任何反應了呢
附件: 您需要登錄才可以下載或查看附件。沒有帳號?注冊

TOP

回復 5# beiwe


    文件太大了,要等它運行完

TOP

返回列表
广西快乐双彩开奖结果查询今晚