Come eliminerei i primi 27 caratteri da ogni riga Notepad ++?


59

Ho un file di registro e devo rimuovere i primi 27 caratteri da ogni riga. Avresti una linea come questa:

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

Ma deve essere così:

<Exazoro> wazup

potresti usare alcuni dei comandi unix cut di unxutils o busybox per farlo molto più facilmente - deve essere notepad ++?
Journeyman Geek

@JourneymanGeek non deve essere notepad ++ è solo quello che uso principalmente e ha il supporto per macro e plug-in, quindi ho indovinato che potrebbe esserci qualcosa per farlo.
Mitico

Risposte:


78

Usa la ricerca di espressioni regolari, cerca ^...........................e sostituisci con (stringa vuota) .

inserisci qui la descrizione dell'immagine

Sfortunatamente, Notepad ++ non supporta i conteggi delle ripetizioni come ^.{27}- la documentazione di regexp di SciTE si applica anche qui.


In alternativa, utilizzare la selezione rettangolare su più righe (premere Altdurante la selezione) per selezionare questi primi 27 caratteri in ogni riga, quindi premere Deleteo Backspace.

inserisci qui la descrizione dell'immagine


Usando gli strumenti Unix (es. Cygwin, UnxUtils) puoi usare cut -c28-o sed -E "s|^.{27}||"invece. Almeno, queste sono le chiamate da riga di comando di Linux che useresti ...


24
Alt + Maiusc + destra per selezionare i 27 caratteri nella prima riga, quindi Pg Dn mentre si tiene premuto Alt + Maiusc dovrebbe farlo
icc97

1
Per la regex, Notepad ++ non segue tutte le regole regex standard, quindi non mi sorprende che tu non riesca a farlo funzionare. E poiché sembra che i primi 27 caratteri siano una data, ora e livello di errore, potrebbe essere possibile una regex più informativa, come^[0-9\-]+ [0-9:]+ \[[A-Z]+\]
MBraedley,

4
Adoro il Altper la selezione rettangolare !!
Gromer,

Selezione alternativa semplice e facile. Grazie Daniel Beck.
Uday Kiran Thummalapalli,

1
Wow! grazie per quel suggerimento di selezione rettangolare ... Non ero nemmeno consapevole che qualcosa del genere esiste ...
Fr0zenFyr

19

Nelle versioni più recenti di Notepad ++, è possibile utilizzare i conteggi delle ripetizioni. Sostituisci semplicemente ^.{1,27}con una stringa vuota.


7
Naturalmente, se è garantito che siano esattamente 27 caratteri, basta usare ^.{27}.
Schism,

5

Di seguito è riportato il modo macro. Questo è più intuitivo per le persone non tecniche:

1) Posiziona il cursore sulla prima riga (qualsiasi posizione del cursore)

2) Fare clic su: Macro -> Avvia registrazione

3) Eseguire le seguenti attività di pressione dei tasti:

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

4) Fare clic su: Macro -> Interrompi registrazione

5) Fare clic su: Esegui macro più volte -> selezionare Esegui fino alla fine del file -> fare clic su Esegui.


4

UPD: Ora Notepad ++ supporta la seguente ripetizione: ^.{27} Ma ora Notepad ++ ripeterà la rimozione dei caratteri fino a più di 27, per evitare ciò è possibile utilizzare la seguente espressione:

  • Trovare cosa: ^.{27}(.*)$
  • Sostituirlo con: $1

funziona perfettamente!
Rudy,

2

un piccolo miglioramento alla risposta di Daniel Beck:
usa la ricerca di espressioni regolari, cerca:

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

e sostituisci con:

\1

0

forse basta selezionare il testo con ALT + tasto sinistro del mouse


Puoi approfondire un po 'di più?
Tot

0

ALT + MAIUSC + Selezione del mouse (solo ALT non funziona)

Punta all'inizio del file, vai alla fine tieni premuto ALT + MAIUSC e punta sulla posizione che vuoi ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.