Сначала вы можете прочитать оба файла по строкам:
fid1 = fopen(file1, 'r');
fid2 = fopen(file2, 'r');
lines1 = textscan(fid1,'%s','delimiter','\n');
lines2 = textscan(fid2,'%s','delimiter','\n');
lines1 = lines1{1};
lines2 = lines2{1};
fclose(fid1);
fclose(fid2);
У вас будет 2 массива ячеек lines1
и lines2
. Вы можете сравнить целые массивы с
tf = isequal(lines1,lines2);
Сравнение строк не так очевидно и зависит от ваших потребностей. Что вы хотите сделать, если количество строк отличается? Например, чтобы найти, какие строки из file2 существуют в file1 (независимо от порядка), вы можете сделать:
[idx1 idx2] = ismember(lines1,lines2);
idx2(idx2==0) = [];
idx1
будет логическим индексом, представляющим строки в файле1, которые имеют одинаковые строки в файле2. idx2
будет числовым (позиционным) указателем того, где находятся эти строки в файле2 (первое вхождение).
Если количество строк одинаковое:
idx_same_lines = strcmp(lines1,lines2);