Vous avez un fichier contenant beaucoup de lignes vides que vous souhaitez supprimer et vous n'avez pas envie de supprimer les lignes une à une ? Voici une solution rapide pour effectuer cette tâche d'un seul coup !
Si vous ne connaissez pas déjà Sublime Text et Visual Studio Code, ce sont deux éditeurs de code, destinés à faire de la programmation. Ces deux logiciels peuvent ouvrir tout type de fichier texte. Ils sont gratuits et disponibles sur Windows, Mac et Linux.
Vous avez donc un fichier contenant plusieurs lignes vides que vous souhaitez supprimer en masse. Pour cela, commencez par installer un des deux logiciels cités précédemment.
Ensuite, le principe est simple : on va demander au logiciel de rechercher toutes les lignes vides et de les remplacer par rien.
Le problème, c'est que ces logiciels ne permettent pas de rechercher directement les lignes vides. Il va falloir ruser en utilisant une expression régulière (autrement appelée regex). Pour résumer rapidement ce qu'est une expression régulière, c'est un ensemble de règles (appelé motif ou pattern en anglais) qui permet de faire des recherches dans des chaînes de caractères, dans le but de faire des remplacements ou des validations. Elles sont assez utilisées en programmation pour, par exemple, vérifier la syntaxe d'une adresse mail.
Justement, Sublime Text et Visual Studio Code permettent d'effectuer une recherche dans un fichier en utilisant les expressions régulières.
Voici comment procéder à la suppression des lignes vides sur ces deux logiciels (procédure identique) :
- Ouvrez le module de recherche dans le fichier (via le raccourci
Ctrl+H
sur Windows/Linux ;Command+Alt+F
sur Mac ; ou tout simplement via le menu Find > Replace ou Modifier > Remplacer) - Assurez-vous d'avoir activé le bouton de recherche par expression régulière, identifié par
.*
(je vous l'ai repéré avec une flèche rouge sur les captures ci-dessous) - Renseignez
^\n
dans le champ de recherche (Find) - Laissez le champ de remplacement vide (Replace)
- Valider le remplacement en cliquant sur le bouton de remplacement global (Replace All, Tout remplacer)
Sur Sublime Text :
Sur Visual Studio Code :
Si toutefois il resterait des lignes vides dans votre fichier, vous pouvez utiliser cette expression régulière au lieu de celle présentée plus haut : ^(\r|\n\r?)
Sinon, pour celles et ceux qui ne souhaitent pas utiliser un de ces deux logiciels mais la ligne de commande, vous pouvez utiliser la commande sed
:
sed '/^\s*$/d' input.txt > output.txt
Ou encore grep
:
grep -v '^$' input.txt > output.txt