2016-12-05 2 views
14

Я сравнения двух текстовых файлов, и я получаю следующий результатUnix diff - как игнорировать окончания строк при сравнении файлов?

diff file1 file2 | grep 12345678 

> 12345678 
< 12345678 

Как вы можете видеть, та же строка существует в обоих файлах, и оба файла были отсортированы с sort.

Окончания строк должны быть здесь (окна против unix).

Есть ли способ получить diff, чтобы игнорировать окончания строк в unix?

+2

'diff --strip-trailing-cr file1 file2'? –

+0

@ РусланОсманов звучит как ответ, спасибо. Кстати, это так же, как '-w'? – vikingsteve

+0

Нет, '-w' игнорирует различия в белых пробелах, а символы« Белого пространства »включают вкладку, вертикальную вкладку, форму, возврат каретки и пробел'. Например, 'diff ab' будет показывать разницу для' line' и ' line', но' diff -wab' не будет –

ответ

24

Используйте --strip-trailing-cr вариант:

diff --strip-trailing-cr file1 file2 

опция вызывает diff раздеть задний символ возврата каретки перед сравнением файлов.

+2

Спасибо! Я попытался использовать 'diff -w', который дал аналогичные результаты, но это самый правильный ответ. – vikingsteve

Смежные вопросы