vimdiff – Weird Issue, сравнивающая 2 файла

Когда я сравниваю приведенные ниже 2 файла, это сравнивает его неправильно. Можете ли вы помочь в сравнении? Все строки доступны в файле2, но не работают. Когда я делаю «vim -dab», его показание, подобное значениям, отсутствует в файле2. Пожалуйста, помогите исправить это.

File1:

BILLINGS TEST,0211,TBN Enlace,Cable Company,11429,Digital,2SDV,EIA158,58,256 QAM,158,999.000,Billings - BILLINGS TEST,0212,ATRES SD,Cable Company,25733,Digital,2SDV,EIA158,59,256 QAM,158,999.000,DEC 16 BILLINGS TEST,0213,Fox Life,Cable Company,50854,Digital,2SDV,EIA158,60,256 QAM,158,999.000,Billings - BILLINGS TEST,0214,Sorpresa,Cable Company,8777,Digital,2SDV,EIA158,61,256 QAM,158,999.000,Billings - AD BILLINGS TEST,0215,Baby TV SAP,Cable Company,16036,Digital,2SDV,EIA158,62,256 QAM,158,999.000,Billings BILLINGS TEST,0216,Semillitas,Cable Company,19867,Digital,2SDV,EIA158,63,256 QAM,158,999.000,Billings - AD BILLINGS TEST,0217,Latele Novela,Cable Company,13353,Digital,2SDV,EIA158,64,256 QAM,158,999.000,Billings - BILLINGS TEST,0218,CINE MEXICANO,Cable Company,12675,Digital,2SDV,EIA158,65,256 QAM,158,999.000,Billings - 

File2:

 BILLINGS TEST,0211,TBN Enlace,Cable Company,11429,Digital,2SDV,EIA158,58,256 QAM,158,999.000,CLMS Billings BILLINGS TEST,0213,Fox Life,Cable Company,50854,Digital,2SDV,EIA158,60,256 QAM,158,999.000,CLMS Billings BILLINGS TEST,0214,Sorpresa,Cable Company,8777,Digital,2SDV,EIA158,61,256 QAM,158,999.000,CLMS Billings Test,0903,0041,MT_DSG_Plant BILLINGS TEST,0215,Baby TV SAP,Cable Company,16036,Digital,2SDV,EIA158,62,256 QAM,158,999.000,CLMS BILLINGS TEST,0216,Semillitas,Cable Company,19867,Digital,2SDV,EIA158,63,256 QAM,158,999.000,CLMS Billings Test,0903,0041,MT_DSG_Plant BILLINGS TEST,0217,Latele Novela,Cable Company,13353,Digital,Big Timber - BILLINGS TEST,0218,CINE MEXICANO,Cable Company,12675,Digital,bozapx03 - AD,EIA006,3,256 BILLINGS TEST,0219,DE PELICULA,Cable Company,50197,Digital,grfapx01 - AD,EIA006,5,256 BILLINGS TEST,0220,DE PELICULA CLASSICOS,Cable Company,50596,Digital,havapx01 - 

введите описание изображения здесь

В обоих файлах данные явно не совпадают. Если вы посмотрите на первую строку, отмеченную как разную, есть разница.

Файл 1 содержит эту строку, в которой File 2:

 BILLINGS TEST,0212,ATRES SD,Cable Company,25733,Digital,2SDV,EIA158,59,256 QAM,158,999.0 

Даже если вы это исправите, более поздние строки будут разными.

Я действительно не понимаю, почему вы озадачены тем, что vimdiff показывает различия между двумя разными файлами. Возможно, вам нужно обновить свой вопрос, объяснив, что на самом деле проблема?

Команды, которые могут помочь, это sort , comm и, возможно, diff .

vim делает то, что я ожидаю, когда линии перемещаются. Бок о бок, это правильно.

vimdiff кажется несколько более умным, чем diff , но он не такой умный, как человек. Когда он находит строки в файле1, которые точно идентичны строкам в файле2, он рассматривает их как соответствующие строки. После подходящей строки он сравнивает последовательные строки из двух файлов по парному основанию, не глядя, чтобы увидеть, какие строки в файле1 похожи на строки в файле2. Другими словами, когда он выходит из синхронизации, он не выполняет повторную синхронизацию до тех пор, пока не найдет строки в файле1, которые точно совпадают с строками в файле2.

Как указывал roaima , в вашем файле 2 отсутствует строка 0212. Таким образом, vimdiff выходит из строя в этот момент. И поскольку после этого нет идентичных строк, он никогда не возвращается в синхронизацию. Но даже roaima, казалось, пропустил тот факт, что если вы вставляете строку 0212 в File2 (даже если это фиктивный), vimdiff остается синхронно и делает это:

vimdiff screen shot

Это то, что вы хотели?

Попробуйте использовать meld для сравнения двух файлов