Como excluir os 27 primeiros caracteres de cada linha do Notepad ++?

59

Eu tenho um arquivo de log e preciso remover os primeiros 27 caracteres de cada linha. Você teria uma linha como esta:

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

Mas precisa ser assim:

<Exazoro> wazup
Mythrillic
fonte
você poderia usar algumas variações do comando unix cut de unxutils ou busybox para fazer isso com muito mais facilidade - ele precisa ser o bloco de notas ++?
Journeyman Geek
@JourneymanGeek ele não precisa ser um bloco de notas ++, é apenas o que eu uso principalmente e possui suporte a macro e plug-in, então acho que pode haver algo para fazer isso.
Mythrillic

Respostas:

78

Use a pesquisa de expressão regular, procure ^...........................e substitua por (string vazia) .

insira a descrição da imagem aqui

Infelizmente, o Notepad ++ não suporta contagens de repetições como ^.{27}- a documentação do regexp do SciTE também se aplica aqui.


Como alternativa, use a seleção retangular de várias linhas (pressione Altenquanto seleciona) para selecionar esses primeiros 27 caracteres em cada linha e pressione Deleteou Backspace.

insira a descrição da imagem aqui


Usando ferramentas Unix (por exemplo, Cygwin, UnxUtils), você pode usar cut -c28-ou em sed -E "s|^.{27}||"vez disso. Pelo menos, essas são as chamadas de linha de comando do Linux que você usaria ...

Daniel Beck
fonte
24
Alt + Shift + direita para selecionar os 27 caracteres na primeira linha, em seguida, Pg Dn enquanto ainda segurando Alt + Shift deve fazê-lo
icc97
11
Para a regex, o Notepad ++ não segue todas as regras padrão da regex, portanto, não estou surpreso que você não tenha conseguido fazê-lo funcionar. E uma vez que parece que os primeiros 27 caracteres são uma data, a hora eo nível de erro, uma regex mais informativo poderia ser possível, como^[0-9\-]+ [0-9:]+ \[[A-Z]+\]
MBraedley
4
Amando o Altpara a seleção retangular !!
Gromer
Alt seleção simples e fácil. Obrigado Daniel Beck.
Uday Kiran Thummalapalli
11
Uau! obrigado por isso ponta seleção retangular ... Eu nem estava ciente de que algo como o que existe ...
Fr0zenFyr
19

Nas versões mais recentes do Notepad ++, você pode usar contagens de repetição. Apenas substitua ^.{1,27}por uma string vazia.

Cisma
fonte
7
Claro, se é garantido que sejam exatamente 27 caracteres, basta usar ^.{27}.
Schism
5

Abaixo está o caminho macro. Isso é mais intuitivo para pessoas não técnicas:

1) Coloque o cursor na primeira linha (qualquer posição do cursor)

2) Clique em: Macro -> Iniciar Gravação

3) Execute as seguintes atividades de pressionamento de tecla:

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

4) Clique em: Macro -> Parar gravação

5) Clique em: Executar macro várias vezes -> selecione Executar até o final do arquivo -> clique em Executar.

Thyag
fonte
4

UPD: Agora o Notepad ++ suporta a seguinte repetição: ^.{27} Mas agora o bloco de notas ++ repetirá a remoção de caracteres até mais de 27, para evitar isso, você pode usar a seguinte expressão:

  • Encontre o que: ^.{27}(.*)$
  • Substituir com: $1
Yurii
fonte
isso funciona perfeitamente!
Rudy
2

uma pequena melhoria na resposta de Daniel Beck:
use a pesquisa por expressão regular, procure:

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

e substitua por:

\1
Yakir Manor
fonte
0

talvez apenas selecione o texto com o botão esquerdo do mouse ALT +

majkelml
fonte
Você pode elaborar um pouco mais sobre isso?
Toto
0

ALT + SHIFT + Seleção do mouse (apenas ALT não está funcionando)

Aponte no início do arquivo, vá para o final, mantenha pressionada a tecla ALT + SHIFT e aponte a posição que deseja ...

user1105565
fonte