Как заменить crlf на lf в одном файле
Как преобразовать один файл с возвратом строки crlf, чтобы вернуть строку lf?
git уже корректно обрабатывает crlf для преобразования lf автоматически для файлов, когда я нажимаю их в удаленный репозиторий, но в этом конкретном случае я не делаю push в репозиторий. Скорее, я загружаю файл, используя поле файла в форме HTML, на веб-сайт, для которого требуется, чтобы файл возвращал строку lf. Поэтому мне нужно иметь возможность конвертировать этот файл по отдельности.
Мои доступные потенциально полезные инструменты, доступные на этом компьютере, будут git и Dreamweaver CC 2014.1. (Я предполагаю, что Word, Wordpad и Notepad не являются жизнеспособными вариантами, но я открыт для исправления.)
Я нахожусь в Windows 7 и используя команды git.
Ответы
Ответ 1
Установка git на windows обычно включает в dos2unix
инструмент dos2unix
.
dos2unix <file>
Но в вашем случае вы должны использовать .gitattributes
чтобы предотвратить преобразование файла в Windows.
Файл .gitattributes
может выглядеть так
*.vcproj eol=crlf
*.sh eol=lf
Из документации .gitattributes
Установить строковое значение "lf"
Этот параметр заставляет Git нормализовать окончания строк в LF при регистрации и предотвращает преобразование в CRLF при извлечении файла.
Просто зафиксируйте файл .gitattributes
и ваш файл будет .gitattributes
на каждой системе с окончанием строки LF
.
Ответ 2
Для преобразования из текста в стиле Windows в текст в стиле Unix:
perl -pe 's/\r$//g' < windows_file.txt > unix_file.txt
Чтобы преобразовать текст в стиле Unix в текст в стиле Windows:
perl -pe 's/(?<!\r)\n/\r\n/g' < unix_file.txt > windows_file.txt
Эта команда "Unix-to-Windows" является "безопасной", и я имею в виду, что она не добавит дополнительные каретки-возвращения к файлу, который уже находится в формате Windows. Я надеюсь, что кто-то воспользуется этим.
Ответ 3
Word и wordpad следует избегать! НИКОГДА не пытайтесь изменить код с ним, они добавят дополнительный код для файла.
Чтобы преобразовать конец строки, вы просто используете Notepad ++ или Scite, вы выбираете конец файла: Windows, Mac, Linux.
Вот пример использования Scite:
![scite]()
Ответ 4
Для отдельного файла вы можете использовать утилиту замены Notepad++:
- Перейти к поиску → Заменить (или Ctrl-H)
- В диалоговом окне выберите "Расширенный" режим поиска.
- Установите "Найти что" в:
\r\n
- Установите "Заменить на" на:
\n
- Нажмите "Заменить все"
Ответ 5
В Notepad++ на нижней панели справа щелкните правой кнопкой мыши область Windows (CR LF) и выберите UNIX (LF), это должно заменить все CRLF на LF.
![enter image description here]()
Ответ 6
преобразовать в CR LF с помощью этого приложения http://www.softsea.com/review/U2WIN.html