как удалить пустую строку в конце файла? (или вправить мозги gedit)

Игорь Гольденберг igogold на gmail.com
Вт Авг 9 14:35:01 UTC 2011


09.08.2011 20:03, Serge Matveenko пишет:

>> А кто сказал, что именно leafpad поступает правильно? Например, если
>> такой test открыть в vim и сохранить, он тоже допишет LF. И надо очень
>> постараться, чтобы он сделал по-другому.

> А вы потом откройте этот файл снова в vim. Он ведь покажет эту
> добавленную строку, да? А gedit - нет.

Скорее наоборот, когда я открою оригинальный test, тогда vim в статусе
напишет [noeol], да и то до первого обновления строки статуса. В
остальном внешний вид последней строки что с EOL, что без никак не
отличается. Пустой строки в конце файла точно не появляется.

Если смотреть логически. Есть файл из N строк, где N > 1. Все строки в
нём (ну, кроме последней) всегда содержат перевод строки. Но в самих
этих строках ничего такого не видно. Почему же последняя должна быть
какой-то другой?

vim и gedit, видимо, используют подход, что если есть строка текста, то
в конце у неё уже есть невидимый LF. Как в regexp, строка размещена
между ^ и $, где конец строки $ материален :)



Подробная информация о списке рассылки ubuntu-ru