Как изменить формат файла с Unix на DOS с помощью Perl?

#perl #file #format

#perl #файл #формат

Вопрос:

В принципе, я хочу изменить формат моего файла с Unix на DOS. Есть ли какой-либо способ сделать это на Perl? Большое спасибо!

Ответ №1:

 perl -Mopen=OUT,:crlf -pi.bak -e0 yourfilename
  

Комментарии:

1. что -Mopen=OUT,:crlf означает?

2. @CharlesB: это командная строка, эквивалентная use open 'OUT', ':crlf'; , которая переводит выходные потоки по умолчанию в уровень crlf (преобразуя n в r n). Смотрите metacpan.org/pod/open

Ответ №2:

Вы можете использовать инструменты dos2unix / unix2dos командной строки для преобразования форматов друг в друга.

В vim тоже все просто.

Вы можете прочитать файл в формате DOS и записать его в формате Unix. Это заменит все <CR><NL> пары на <NL> (при условии, что ‘fileformats’ включает «dos»): >

 :e file
:set fileformat=unix
:w
  

Если вы читаете файл в формате Unix и записываете в формате DOS, все <NL>
символы будут заменены на <CR><NL> (при условии, что ‘fileformats’ включает
«unix»): >

 :e file
:set fileformat=dos
:w