55

У меня есть файл журнала, и мне нужно удалить первые 27 символов с каждой строки. У вас будет такая строка:

2011-09-25 01:25:29 [INFO] <Exazoro> wazup

Но это должно быть так:

<Exazoro> wazup

5 ответов5

72

Используйте поиск по регулярному выражению, найдите ^........................... и замените на (пустая строка).

К сожалению, Notepad++ не поддерживает количество повторений, например ^.{27} - документация SciTE regexp применима и здесь.


В качестве альтернативы, используйте прямоугольное многострочное выделение (нажмите Alt при выборе), чтобы выбрать эти первые 27 символов в каждой строке, затем нажмите Delete или Backspace .


Используя инструменты Unix (например, Cygwin, UnxUtils), вы можете использовать cut -c28- или sed -E "s|^.{27}||" вместо. По крайней мере, это вызовы командной строки Linux, которые вы бы использовали ...

17

В более новых версиях Notepad++ вы можете использовать количество повторений. Просто замените ^.{1,27} пустой строкой.

4

Ниже приведен макро способ. Это более интуитивно понятно для нетехнических людей:

1) Поместите курсор в первую строку (любая позиция курсора)

2) Нажмите: Макрос -> Начать запись

3) Выполните следующие действия нажатия клавиш:

* Press the Home key  
* Press Delete key 27 times (till you reach the intended character)
* Press down arrow button. 

4) Нажмите: Макрос -> Остановить запись

5) Нажмите: несколько раз запустить макрос -> выберите «Выполнить до конца файла» -> нажмите «Выполнить».

2

небольшое улучшение ответа Даниэля Бека:
Используйте поиск по регулярному выражению, ищите:

^...........................(.*.\r\n) 

и заменить на:

\1
1

UPD: теперь Notepad++ поддерживает следующие повторения: ^.{27} Но теперь у вас notepad++ будет повторять удаление символов до более чем 27, чтобы избежать этого, вы можете использовать следующее выражение:

  • Найти что: ^.{27}(.*)$
  • Заменить на: $1

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