Вперед Назад Содержание

17. Незавершенные строки

В случае, когда входной файл заканчивается символом, отличным от символа конца строки, последняя строка этого файла называется незавершенной строкой. Все другие строки называются полными строками, и завершаются символом перехода на новую строку. Незавершенные строки не совпадают с полными строками, даже если игнорируются различия в количестве символов-разделителей.

Незавершенная строка обычно отличается при выводе от полной строки следующей строкой, которая начинается с символа '\'. Однако при выводе в RCS-формате незавершенная строка выводится как есть, без завершающего символа перехода на новую строку. Сравнительный формат обычно представляет незавершенную строку как есть, но в некоторых случаях используется маркеры '/' или '\'. При описании шаблонов строк для формата if-then-else, %L позволяет сохранить незавершенность строки, и %l приводит к выводу символа новой строки. Наконец, для формата ed и прямого формата ed, diff не может представить незавершенную строку, поэтому в результате появляется завершенная строка и выдается сообщение об ошибке.

Например, допустим, что F и G - однобайтовые файлы, которые содержат символы 'f' и 'g' соответственно.

1c1 < f \ No newline at end of file --­ > g \ No newline at end of file
(Точное содержимое сообщения может быть другим в национальных версиях diff). 'diff -n -F G' приведет к выводу следующего текста без завершающего символа перехода на новую строку:

d1 1 a1 1 g
Команда 'diff -e F G' приведет к появлению двух сообщений об ошибке и выдаче следующего:
1c g .


Вперед Назад Содержание