Что означают числа в строке «@@» при выводе команды diff? [duplicate]

Это еще раз доказывает, что если вы запускаете случайные сценарии из Интернета, вы проигрываете.

Кто написал это руководство? Что еще более важно, кто написал эту штуку "iRedMail"? (никогда об этом не слышал). Вы просмотрели сценарий, чтобы убедиться, что он не сделал ничего плохого?

В лучшем случае этот сценарий (я его не проверял) просто содержит ошибку, из-за которой он устанавливает разрешения для пустая переменная, перед которой ставится "/". В худшем случае ваш сервер заложен, и вам следует его переустановить.

3
03.01.2016, 01:31
1 ответ

В документации GNU diff это объясняется в разделе Унифицированный формат:

Далее следуют один или несколько кусков различий; каждый кусок показывает одну область. где файлы различаются. Унифицированные форматы выглядят следующим образом:

 @@ from-file-line-numbers to-file-line-numbers @@
 строка из любого файла
 line-from-either-file...

Если блок содержит только одну строку, то отображается только номер начальной строки. В противном случае номера строк выглядят как 'start,count'. Пустой блок считается начинающимся со строки, которая следует за ним.

Если hunk и его контекст содержат две или более строк, номера строк выглядят как 'start,count'. выглядят как 'start,count'. В противном случае отображается только номер конечной строки. Считается, что пустой блок заканчивается на строке, которая предшествует блоку.

Строки, общие для обоих файлов, начинаются с символа пробела. Строки которые фактически различаются между двумя файлами, имеют один из следующих символов индикаторных символов в левой колонке печати:

'+'
 Здесь была добавлена строка в первый файл. 
'-'
 Здесь была удалена строка из первого файла.
3
27.01.2020, 21:13

Теги

Похожие вопросы