Изменение EOL на нескольких файлах за один раз


есть ли способ в Notepad++ (или даже другой инструмент), чтобы изменить конец строки автоматически на несколько файлов за один раз?

т. е. конвертировать смесь windows EOL (CRLF) и UNIX EOL (LF) файлы должны быть все Windows EOL (CRLF)

6 82

6 ответов:

The заменить диалог может обрабатывать расширенные символы, такие как EOL. Просто измените "режим поиска" на "расширенный", и вы можете работать с EOL (\r\n в Windows или \n в Unix), вкладками (\t) и т. д.

вы также можете использовать найти в файлах вкладка диалогового окна для замены нескольких файлов.

Screenshot

У меня есть Notepad++ 6.1.2.
В меню " Edit "у вас есть" EOL conversion", который делает именно то, что вам нужно.

используйте функцию "Найти в файлах" (Ctrl + Shift + F). Измените режим поиска в левом нижнем углу на "регулярное выражение".

в поле "найти что", используйте этот шаблон:

(?<!\r)\n

заменить на:

\r\n

выберите свой каталог и укажите любые фильтры типов файлов. Проверьте "во всех подпапках", если вы хотите. Нажмите кнопку "Заменить в файлах".

это означает замену любых символов новой строки (\n), которым в настоящее время не предшествует a возврат каретки (\r) с \r\n. поэтому он не будет соответствовать окончаниям строк, которые уже являются стилем Windows.

enter image description here

использовать заменить все регулярным выражением

(\r?\n)|(\r\n?)

до

\r\n

это будет соответствовать каждому возможному шаблону окончания строки (single \r, \n или \r\n) обратно в \r\n (Windows).

для работы с несколькими файлами, либо:

  • используйте" заменить все во всех открытых документах "на вкладке" заменить". Сначала вам нужно будет перетащить все файлы в Notepad++. Это хорошо, что вы будете иметь контроль над тем, какой файл для работы, но может быть медленным, если там несколько сотен или тысяч файлов.
  • "заменить в файлах" на вкладке "найти в файлах", с помощью фильтра файлов по вашему выбору, например, *.СРР.* cs в одном указанном каталоге.

нашел это решение с помощью этого обсуждение:

вы также можете установить EOL по умолчанию в notepad++ через "настройки" - > "Настройки" - > "новый документ / каталог по умолчанию" затем выберите "Unix / OSX" в поле формат.

Примечание: всегда можно использовать параметр out-of-band с помощью командной строки:

unix2dos *.cmd
dos2unix *.sh

только работающего решение я нашел для нескольких файлов/папок, после поиска в течение 1 часа это:

  • установить PyCham пробном режиме,
  • откройте и выберите папку проекта / папки и следуйте скриншот

enter image description here