Преобразование DOS / UNIX и наоборот

Существует несколько утилит для преобразования текстовых файлов из UNIX или Linux в операционные системы DOS и наоборот; однако, это всегда помогает узнать ручное преобразование. В языках программирования оболочки, таких как UNIX или Linux, текстовые файлы заканчиваются оператором новой строки "\ n", также известным как перевод строки, и его код ASCII равен 0A. Текстовый файл DOS завершает строку возвратом каретки или клавишей ввода "\ r": его код ASCII равен 0D. Строки в DOS заканчиваются CRLF или "\ r \ n". Чтобы преобразовать этот текст DOS в UNIX или Linux, сотрите «\ r»; Вы также можете использовать коды ASCII, если вы используете версию GNU-sed. Из UNIX в DOS вы можете добавить символ «\ r» или использовать символические обозначения GNU-sed, используя коды ASCII.

вступление

Хотя существуют утилиты (dos2unix и unix2dos), способные выполнить эту задачу, вот простой совет о том, как сделать эти функции вручную.

Преобразование DOS в UNIX / UNIX в DOS

Текстовые файлы в Unix заканчивают свою строку символом «\ n» (называемый перевод строки и отмеченный LF, код ASCII = 0A).

Текстовые файлы в DOS «строкой» заканчивают свою строку символом «\ r» (называется «Возврат каретки» и «CR», ASCII 0D).

Таким образом, каждая строка в файле DOS заканчивается последовательностью CRLF или \ r \ n.

Преобразование из DOS в UNIX

Просто удалите «\ r» (возврат каретки) в конце строки.

Символ \ r символически представлен символом «^ M», который получается следующей последовательностью клавиш «CTRL-V» + «CTRL-M».

 Файл sed 's / ^ M $ //' 

Замечания:

В версии GNU-sed (gsed 3.02.80) мы можем использовать нотацию ASCII:

 Файл sed 's / \ x0D $ //' 

Преобразование из UNIX в DOS

Просто сделайте противоположное предыдущей команде, а именно («^ M» вводится таким же образом (CTRL-V + CTRL-M)):

 Файл sed 's / $ / ^ M /' 

Замечания:

В версии GNU-sed (gsed 3.02.80) мы можем использовать символическую запись «\ r»:

 Файл sed 's / $ / \ r /' 
Предыдущая статья Следующая статья

Лучшие советы