1

У меня есть скрипт bash, который разбирает текстовые файлы. В этих текстовых файлах некоторые строки содержат символ новой строки, когда я открываю файл с помощью Vim, он выглядит так:

data 1=part 1 ^M part 2
data 2=part 1

Я вставил символ ^M в vim благодаря Ctrl+v Enter.

Скрипт будет рассматривать каждую строку файла как описание данных и будет понимать, что data 1 - это текст, содержащий новую строку.

Теперь моему коллеге нужно создать такой же файл, но он не будет использовать Vim:

  • Если он использует ввод вместо Ctrl+v Enter , это создаст новую строку, и мой скрипт не будет работать должным образом (рассматривая обе части data1 как две отдельные строки данных).
  • Если он вставит \n или \r вручную, скрипт будет считать, что data 1 - это одна строка текста, содержащая символ \ за которым следуют n или r без особого значения.

Как он может создать тот же файл с редактором, как Notepad ++? Т.е. как он может добавить символ новой строки, который не будет интерпретироваться блокнотом ++

Обратите внимание, что мой вопрос о том, чтобы сделать это с помощью notepad++, потому что модификация скрипта была бы чрезвычайно неудобной.

1 ответ1

1

^M используется для отображения символа ВОЗВРАТА КОРПУСА (ASCII 13, 0x0D) в vim.

Вы можете ввести его с помощью Alt + 013 на цифровой клавиатуре в Notepad ++. Тем не менее, Notepad ++, кажется, всегда помещает вновь напечатанный возврат каретки в конце существующего разрыва строки, независимо от того, какой стиль разрыва строки установлен для файла. Поэтому я бы не рекомендовал Notepad ++ для этого.

Стоит отметить, что смешанные разрывы строк в одном файле всегда будут приводить к проблемам при работе с ним. Некоторые инструменты даже преобразуют все разрывы строк в определенный формат без согласия пользователя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .