Замените lf на cr-lf в текстовом файле Cygwin

У меня есть скрипт Cygwin, который выводит материал в файл. Моя единственная проблема в том, что он всегда использует \ n "lf" окончания строк вместо \r\n "cr-lf". Я хочу либо заменить их, либо просто заставить Cygwin всегда выводить \ r \ n для окончания строки.

Я попробовал следующие две команды безрезультатно в сценарии.

unix2dos d:/temp.txt
sed -i -e 's/\n/\r\n/g' d:/temp.txt

2 ответа

Решение

Вы указываете путь к unix2dos используя причудливое сочетание концовок Windows и Linux.

Если вы вызываете его из командной оболочки Windows, используйте это:

unix2dos d:\temp.txt

Если вы вызываете его из Cygwin, или из сценария оболочки Cygwin или аналогичного, используйте это:

unix2dos /cygdrive/d/temp.txt

Ваш unix2dos звонок должен работать. Вы получаете какую-то ошибку?

У установщика Cygwin есть опция выбора соглашения о конце строки по умолчанию (DOS или Unix), хотя он может отображаться только во время новой установки - я не помню, чтобы это было сделано вручную.

Другие вопросы по тегам