В эти дни emacs будет автоматически определять окончания строк, используемые в файле, и поэтому вы не увидите, есть ли в файле \n
или \r
или \r\n
окончания строк. Любые изменения в emacs сохранят и имитируют окончания строк.
Чтобы действительно увидеть, что файл имеет, вы можете попробовать, cat -vet
который показывает управляющие символы, включая ^M
, tabs ( ^I
) и конец строки ( $
).
Обратите внимание, что git
можно настроить автоматическое преобразование \r\n
в \n
или наоборот при перемещении текстовых файлов между рабочим каталогом и базой данных объектов. Прочтите эту статью и эту статью, чтобы проверить, как настроен ваш git, глобально и для каждого репозитория, и как вы можете его изменить.
Трудно понять, как sed
можно было представить \r
. Я предполагаю, что вы находитесь в системе Unix.
Вверху вашего рабочего каталога убедитесь, что следующие команды ничего не показывают:
git config core.eol git config core.autocrlf find . -name .gitattributes -o -name attributes
Запустите исходный неотредактированный файл cat -vet
и проверьте, заканчиваются ли все, некоторые или ни одна из строк тремя символами ^M$
.