У меня есть несколько текстовых файлов, скопированных на сервер. Я обычно использую и предпочитаю notepad++ для просмотра текстовых файлов, но на этом сервере установлен только textpad. Это действительно странное поведение, но я заметил, что когда я просматриваю символы EOL в блокноте ++, я ясно вижу и ищу CRLF (т.е. \r\n). Но когда я отображаю те же файлы в текстовой панели, я могу искать только в LF (\n) и не иметь никаких совпадений в CR (\r). Я что-то упустил в том, как Textpad интерпретирует символы EOL?
Возврат каретки отображается в блокноте ++, но не в текстовом блоке?
Ответы (3)
Это происходит, когда управляющие символы EOL неверны. Windows представляет новые строки с помощью возврата каретки + перевода строки.
В Notepad++ вы можете проверить эти символы, выбрав:
Вид > Показать символы > [x] Показать конец строки
Вам нужно изменить свой скрипт, чтобы ваши данные были отформатированы следующим образом:
CRLF
Да, в идеале это возврат каретки, а затем перевод строки,
\r\n
но вы также можете использовать быстрое сокращение для размещения {lf}, а не {cr}{lf}
\n
Я знаю, что это немного старый вопрос, но я боролся именно с этой проблемой, и вот как я нашел обходной путь.
При использовании Save As
в текстовой панели вы можете указать формат файла внизу (PC
, UNIX
или Mac
). Теоретически, если вы выберете UNIX
, строки будут заканчиваться только символом \n
, однако вам придется каждый раз менять эту опцию.
Вы можете изменить настройки для определенных «классов документов», чтобы указать формат выходного файла. Следуй этим шагам:
- Нажмите
Configure
- Go to
Preferences
- Развернуть список
Document Classes
- Выберите
bash
, который должен включать*.sh
файлов. - Прокрутите вниз параметры справа, пока не увидите
Create new files as
. - Выберите
UNIX
Это должно теперь сохранять все файлы *.sh
, которые вы создаете, в формате UNIX без возврата каретки. Удачи
Я нашел эту информацию здесь: http://homes.ori.org/~keiths/Files/Tips/Software_TextPad_Prefs.html#DocClasses
newline
различается во всех трех наиболее распространенных операционных системах (Windows, Linux и Mac OS). Держу пари, вы это знали.notepad++
, насколько мне известно, очень надежны, и поэтомуnewlines
определяются автоматически, и я уверен, вы даже можете установить, как программа показывает (рендерит) их в текстовой области. Кажется, да, TextPad интерпретирует CRLF как\n
даже на машине с Windows. Но загляните в примечания к выпуску TextPad =›In regular expressions in macros, [^...] is now changed to [^...\r\n] to constrain it to the end of line
. Я не знаю, помог ли я. - person Kyslik   schedule 14.06.2013