Board logo

标题: [文本处理] 批处理如何对比两个文本文件? [打印本页]

作者: shootman2    时间: 2015-4-9 23:29     标题: 批处理如何对比两个文本文件?

假如A文件,有10行,B文件,也有10行,有没有第三方工具,或是批处理脚本对两个文件进行比较,
把不一致的行输出,一致的跳过!
作者: bailong360    时间: 2015-4-9 23:38

本帖最后由 bailong360 于 2015-4-9 23:39 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "tokens=1,2* delims=:" %%i in ('findstr /n . A.txt') do (
  4.     set str=
  5.     set /p str=
  6.     if "%%j" neq "!str!" echo;%%i:%%j&echo;%%i:!str!
  7. ))<B.txt
  8. pause
复制代码
学习自http://www.bathome.net/thread-13327-1-1.html的技巧
作者: gawk    时间: 2015-4-10 10:35

  1. grep -vxFf a.txt b.txt > 1.txt
复制代码
  1. grep -vxFf b.txt a.txt > 2.txt
复制代码

作者: shootman2    时间: 2015-4-10 13:37

回复 3# gawk


    两句的意思是啥?从a中找到b中没有的,然后输出?
    处理后,好像没有换行了!
作者: gawk    时间: 2015-4-10 15:00

回复 4# shootman2
  1. grep -vxFf a.txt b.txt | more > 1.txt
复制代码
  1. grep -vxFf b.txt a.txt | more > 2.txt
复制代码





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