Est-ce qu'il y a un moyen dans Notepad ++ de supprimer toutes les deux lignes? J'ai une liste massive de données et j'ai besoin de réduire la taille.
Les données elles-mêmes ne sont pas si importantes et sur une liste de 10 000 éléments, je n'ai besoin que d'une sélection de 5 000
Je pense que c'est une idée étrange d'essayer de faire avec Notepad ++, mais j'aime un défi, alors j'ai décidé de l'essayer.
Ouvrez le menu Remplacer, remplissez ([^\n]*\n)[^\n]*\n
dans la case "Trouver" et $1
dans la case "Remplacer par". Ensuite, sélectionnez une expression régulière pour le mode de recherche, cliquez sur Remplacer tout et toutes les deux lignes sont supprimées.
Vous pouvez créer des expressions rationnelles similaires si vous voulez faire quelque chose de similaire. Par exemple, (([^\n]*\n){a})[^\n]*\n
remplacera chaque nième ligne si vous remplacez a
par n - 1 et [^\n]*\n([^\n]*\n)
vous permettra de conserver des lignes paires au lieu de lignes impaires.
(Ce n'était pas difficile du tout. Tout ce que j'avais à faire, c'était de mettre à jour mon installation obsolète de Notepad ++.)
Vous pouvez essayer d'utiliser une macro.
Je pense que vous pouvez le faire avec awk si vous êtes sur une plate-forme de style unix:
awk 'NR % 2 == 0' file > outfile
NR est le numéro de la ligne, donc cela va juste dire "si la ligne est divisible par 2, collez-la dans newfile".
Si vous êtes sur Windows, je pense que la réponse ici fonctionnerait:
Je suis tombé sur ce problème moi-même. Ce qui a fonctionné pour moi, en utilisant également la fonction Rechercher/Remplacer, est de:
Vous pouvez également utiliser la ligne de commande cc.dl 5.5
de ConyEdit (un plugin) pour supprimer la cinquième ligne de chaque groupe, soit cinq lignes pour chaque groupe.
Je ne pense pas qu'il existe une fonctionnalité dans Notepad ++ qui supprime automatiquement toutes les autres lignes (ou toutes les nièmes), mais si vous écriviez un programme de conversion court, cela ne prendrait que quelques minutes.
Le pseudocode ressemblerait à quelque chose comme ceci:
1. Create a StreamReader and StreamWriter (make sure you are not trying to read from
and write to the same file)
2. While (StreamReader is reading lines) increment i. You could mod it by whatever
number n you wanted in order to delete certain lines. Then have a conditional clause
that would write out if i%n == 0 or whatever you specify.
3. Close the program.
Cela ne répond pas exactement à votre question, mais j'espère que cela vous aidera.