J'ai un fichier journal et j'ai besoin de supprimer les 27 premiers caractères de chaque ligne. Vous auriez une ligne comme ceci :
2011-09-25 01:25 :29 [INFO] wazup
Mais il faut que ça ressemble à ceci :
wazup
J'ai un fichier journal et j'ai besoin de supprimer les 27 premiers caractères de chaque ligne. Vous auriez une ligne comme ceci :
2011-09-25 01:25 :29 [INFO] wazup
Mais il faut que ça ressemble à ceci :
wazup
Utilisez la recherche par expression régulière, recherchez ^...........................
et remplacez par (chaîne vide).
Malheureusement, Notepad++ ne prend pas en charge les comptages de répétition comme ^.{27}
— la documentation regexp de SciTE s'applique également ici.
Alternativement, utilisez la sélection rectangulaire multi-ligne (appuyez sur Alt
tout en sélectionnant) pour sélectionner les 27 premiers caractères de chaque ligne, puis appuyez sur Supprimer
ou Retour arrière
.
En utilisant des outils Unix (par exemple Cygwin, UnxUtils), vous pouvez utiliser cut -c28-
ou sed -E "s|^.{27}||"
à la place. Du moins, ce sont les appels en ligne de commande Linux que vous utiliseriez...
Alt + Maj + droite pour sélectionner les 27 caractères de la première ligne, puis Pg Dn tout en maintenant Alt + Maj devrait le faire
Pour l'expression régulière, Notepad ++ ne suit pas toutes les règles regex standard, donc je ne suis pas surpris que vous n'ayez pas pu le faire fonctionner. Et comme il semble que les 27 premiers caractères sont une date, une heure et un niveau d'erreur, une regex plus informative pourrait être possible, comme ^[0-9\-]+ [0-9:]+ \[[A-Z]+\]
Depuis la publication initiale de la réponse de Daniel Beck, les mises à jour de Notepad++ prennent désormais en charge la répétition d'expressions régulières suivante: ^.{27}
Mais notez qu'avec cette seule expression, Notepad++ va continuellement supprimer tous les caractères du document jusqu'à ce qu'il en reste plus de 27. Pour éviter cela, vous pouvez utiliser la recherche/remplacement suivante:
^.{27}(.*)$
$1
Voici la manière macro. C'est plus intuitive pour les personnes non techniques :
1) Placez le curseur sur la première ligne (à n'importe quelle position du curseur)
2) Cliquez sur : Macro -> Commencer l'enregistrement
3) Effectuez les activités de pression de touche suivantes :
* Appuyez sur la touche Accueil
* Appuyez sur la touche Supprimer 27 fois (jusqu'à atteindre le caractère voulu)
* Appuyez sur le bouton de flèche vers le bas.
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.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
0 votes
Tu pourrais utiliser une variante de la commande cut Unix à partir d'Unxutils ou de Busybox pour le faire beaucoup plus facilement - est-ce que cela doit être Notepad++?
0 votes
@JourneymanGeek il ne faut pas que ce soit notepad++, c'est juste ce que j'utilise principalement et il possède une prise en charge des macros et des plugins, donc je pensais qu'il y avait peut-être quelque chose à faire à ce sujet.