MATLAB对比两txt文件内容是否一致

实现功能

对比两txt每行的内容是否一致,若一致则输出’完全一致’,不一致则输出’第 %d 行不一致’;若行数不等则输出’文件1比文件2少/多%d行’

MATLAB代码

注意修改代码中txt文件名

clear all;close all;clc; %清理工作区,关闭所有窗口,清空文本
% 读取第一个文本文件的内容
file1 = fopen('txt1.txt', 'r');%修改地址为对应文件名及地址,单独文件名则需要txt与此代码同层级
data1 = textscan(file1, '%s', 'Delimiter', '\n');
fclose(file1);

% 读取第二个文本文件的内容
file2 = fopen('txt2.txt', 'r');%修改地址为对应文件名及地址,单独文件名则需要txt与此代码同层级
data2 = textscan(file2, '%s', 'Delimiter', '\n');
fclose(file2);

% 获取每个文件的行数
numLines1 = length(data1{1});
numLines2 = length(data2{1});

% 比较每一行的内容是否相等
isMatch = true;
for i = 1:min(numLines1, numLines2)
    if ~strcmp(data1{1}{i}, data2{1}{i})
        fprintf('第 %d 行不一致\n', i);
        isMatch = false;
    end
end

% 检查文件行数是否一致
if numLines1 < numLines2
    fprintf('文件1比文件2少%d行\n', numLines2 - numLines1);
    isMatch = false;
elseif numLines1 > numLines2
    fprintf('文件1比文件2多%d行\n', numLines1 - numLines2);
    isMatch = false;
end

% 输出结果
if isMatch
    disp('完全一致');
end

练习文本

将下列文本复制到txt中创建两个txt,可修改或删除行进行对比验证。

00c4,
00c3,
00c3,
00c2,
00c2,
00c2,
00c1,
00c1,
00c0,
00c0,
00c0,
00bf,
00bf,
00be,
00be,
00bd,
00bd,
00bc,
00bc,
00bb,
00ba,
00ba,
00b9,
00b9,
00b8,
00b8,
00b7,
00b6,
00b6,
00b5,

在线资源

有很多优秀的在线文本对比工具,搜索引擎中输入在线文本对比可以找到。粘贴文本内容进行对比。

你可能感兴趣的:(数字信号处理,matlab,开发语言,文本对比)