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

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 ...


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.


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.


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

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

0

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


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 ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.