对比两个txt文件的相关工具

就是我现在有两个txt文件 一个小范围txt文件A 一个大范围txt文件B 我想查找A里面所有的文件名(字符名) 在B中有没有 没有的话需要标出来 txt文件里面的格式是这样的

以空格分割 需要其他的字符串分割也可以 替换一个就可以了

我个人感觉可以在Excel里做这种对比
image

2 个赞

windows下装个WSL然后直接用linux的diff命令比较文件夹

=。=都说的毛啊。。
先安装浏览器插件Console Importer
你分别复制这俩
打开浏览器F12 安装lodash

$i('lodash')
const str1 = `你粘贴第一个文本`
const str2 = `你粘贴第二个文本`
const arr1 = str1.split('空白链接的地方复制以下')
const arr2 = str1.split('空白链接的地方复制以下')
_.difference(arr1,arr2)

搞定

1 个赞

可以试试 meld,能对两个文件进行可视化对比,标注文件中内容不同的行,以及具体的差异。

https://meldmerge.org/

楼主想要的其实是文件夹对比吧?meld 也支持文件夹对比。

用 bat 也行

@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "usebackq tokens=*" %%a in ("%~1") do (
  find "%%a" "%~2" >nul
  if !errorlevel! neq 0 echo NOT EXIST: %%a
)

以上保存成 a.bat,A.txt 每行一个文件名(空格替换成回车),B.txt 可以保持空格分割,执行 a.bat A.txt B.txt

缺陷:如果B文件中的文件名中可能会含另一个文件名,可能误报,比如AB-123 会导致 AB-12 也被认为存在。
解决:A 和 B 里的文件名前后都加个 *(分隔的空格替换成*空格*),因为 * 不会出现在文件名里,然后再搜索。

数据量大的话就当我没说 :rofl:

bat,没有测试,大致意思是这样

for /f %%i in (File_A) do (
  find "%%i" File_B >nul || echo %%i
)

适用于区分大小写,且File_A为如下格式

line1_without_spaces&tabs
line2_without_spaces&tabs
line3_without_spaces&tabs

这道题和前两天对比目录的有点相似,写了个简单动作。

思路:读取文件-转换为列表-对比列表。c#中可以直接使用Expect方法

notepad–

这不是单纯的文本比较吗,不知有没有理解错,
我所知道的免费的软件有Diffinity、WinMerge、CCompare

excel 可以对比两列内容有何不同

txt直接粘到excel里面就变成一行一个了。

甚至都不需要他那么复杂。。。
看图:

多么清晰啊

可以使用vim,分兩窗口打開兩個文件之後:

:windo diffthis

不過這個不能保存對比結果。

你试试word

审阅~对比

可以显示文档差异

不需要特殊软件,很多TXT对比软件是适合细微处比较差异的。

2 个赞

两txt对应得好, txt比较工具有的是
如果不是, 用Excel去重, 用Access做比较都能做

你领先,同用漂过

超级好用

不知道你想要的“标记”是哪种?我比较2个txt文件一般用
notepad++的一个插件"Compare". 不一样的地方会用颜色标记出来。
(不过有些人避雷notepad++的作者)