Comment supprimer les 27 premiers caractères de chaque ligne du Notepad ++?


59

J'ai un fichier journal et je dois supprimer les 27 premiers caractères de chaque ligne. Vous auriez une ligne comme ceci:

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

Mais ça doit être comme ça:

<Exazoro> wazup

vous pourriez utiliser une variante de la commande unix cut de unxutils ou busybox pour le faire beaucoup plus facilement - faut-il que ce soit le Notepad ++?
Journeyman Geek

@JourneymanGeek il ne doit pas nécessairement s'agir de Notepad ++, c'est juste ce que j'utilise principalement et il a un support pour les macros et les plugins, donc je suppose qu'il pourrait y avoir quelque chose à faire.
Mythrillic

Réponses:


78

Utilisez la recherche par expression régulière, recherchez ^...........................et remplacez par (chaîne vide) .

entrez la description de l'image ici

Malheureusement, Notepad ++ ne prend pas en charge le nombre de répétitions ^.{27}, la documentation de regexp SciTE s’applique également ici.


Vous pouvez également utiliser une sélection multiligne rectangulaire (appuyez sur Altlors de la sélection) pour sélectionner les 27 premiers caractères de chaque ligne, puis appuyez sur Deleteou sur Backspace.

entrez la description de l'image ici


En utilisant des outils Unix (par exemple, Cygwin, UnxUtils), vous pouvez utiliser cut -c28-ou sed -E "s|^.{27}||"remplacer. Au moins, ce sont les appels de ligne de commande Linux que vous utiliseriez ...


24
Alt + Maj + Droite pour sélectionner les 27 caractères de la première ligne, puis Pg Dn tout en maintenant Alt + Shift devrait le faire
icc97

1
Pour la regex, Notepad ++ ne suit pas toutes les règles de regex standard, donc je ne suis pas surpris que vous ne puissiez pas le faire fonctionner. Et comme il semble que les 27 premiers caractères correspondent à une date, à une heure et à un niveau d'erreur, une expression rationnelle plus informative pourrait être possible, comme^[0-9\-]+ [0-9:]+ \[[A-Z]+\]
MBraedley

4
Aimer le Altpour la sélection rectangulaire !!
Gromer

Sélection Alt simple et facile. Merci Daniel Beck.
Uday Kiran Thummalapalli

1
Hou la la! merci pour cette astuce de sélection rectangulaire ... Je ne savais même pas que quelque chose comme ça existe ...
Fr0zenFyr

19

Dans les versions plus récentes de Notepad ++, vous pouvez utiliser le nombre de répétitions. Il suffit de remplacer ^.{1,27}par une chaîne vide.


7
Bien sûr, si vous avez exactement 27 caractères, utilisez-le ^.{27}.
Schisme

5

Ci-dessous, la méthode macro. Ceci est plus intuitif pour les personnes non techniques:

1) Placez le curseur sur la première ligne (n'importe quelle position du curseur)

2) Cliquez sur: Macro -> Démarrer l'enregistrement

3) Effectuez les activités de presse suivantes:

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

4) Cliquez sur: Macro -> Arrêter l'enregistrement

5) Cliquez sur: Exécuter la macro plusieurs fois -> sélectionnez Exécuter jusqu'à la fin du fichier -> cliquez sur Exécuter.


4

UPD: Maintenant, Notepad ++ prend en charge la répétition suivante: ^.{27} Mais maintenant, votre notepad ++ répétera la suppression de caractères jusqu'à plus de 27 caractères. Pour éviter cela, vous pouvez utiliser l'expression suivante:

  • Trouver quoi: ^.{27}(.*)$
  • Remplacer par: $1

cela fonctionne parfaitement!
Rudy

2

une petite amélioration à la réponse de Daniel Beck:
Utilisez la recherche par expression régulière, recherchez:

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

et remplacer par:

\1

0

peut-être suffit de sélectionner le texte avec ALT + Souris bouton gauche


Pouvez-vous élaborer un peu plus à ce sujet?
Toto

0

ALT + MAJ + sélection de la souris (seul ALT ne fonctionne pas)

Pointez au début du fichier, allez à la fin, maintenez les touches ALT + MAJ et pointez sur la position que vous voulez ...

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.