Comment supprimer les lignes vides en utilisant SED

Comment supprimer les lignes vides en utilisant SED
Il existe deux méthodes possibles pour supprimer les lignes vides d'un fichier texte à l'aide de SED; Les méthodes sont répertoriées ci-dessous et sont discutées en détail dans la prochaine partie de ce guide.
  • Méthode 1: Comment supprimer toutes les lignes vides dans un fichier texte en utilisant SED
  • Méthode 2: Comment supprimer des lignes spécifiques du fichier texte à l'aide de SED

Méthode 1: Comment supprimer toutes les lignes vides dans un fichier texte à l'aide de SED

Avant de creuser dans la profondeur de cette méthode, comprenons la syntaxe pour supprimer les lignes vides à l'aide de SED:

Syntaxe

sed [options] '/ ^ $ / d' [nom de fichier]

Le '/ ^ $ / d«est la partie centrale de cette commande; où "^»Le symbole montre que la suppression doit être exécutée à partir des moyens de début à partir de la première ligne; "$»Semet qu'il doit aller jusqu'à la dernière ligne du fichier texte et«d»Montre que la suppression est en cours.

Cette section vous guidera pour supprimer toutes les lignes dans un fichier texte à l'aide de Stream Editor (SED):

Nous avons créé un fichier texte "supprimer.SMS; Premièrement, obtenez le contenu de ce fichier en utilisant «chat«Commande comme indiqué ci-dessous et nous avons utilisé«-n«Option avec lui, afin que nous puissions également obtenir les numéros de ligne:

Il est observé qu'il existe plusieurs lignes vides, et elles affectent l'esthétique de ce fichier texte et les lecteurs peuvent ne pas prêter attention à ce contenu.

$ cat -n supprimer.SMS

Ainsi, pour éviter la situation énoncée ci-dessus; Vous devez supprimer les lignes vides pour rationaliser le processus de lecture; La commande mentionnée ci-dessous supprimera toutes ces lignes du «supprimer.SMS" déposer.

Vous pouvez maintenant remarquer que les lignes vides sont lavées et seules ces lignes sont imprimées qui contient du texte, mais le résultat ne s'affiche que sur le terminal tandis que le fichier d'origine reste le même:

$ sed '/ ^ $ / d' supprimer.SMS

Si vous souhaitez supprimer les lignes vides et mettre à jour le fichier d'origine également, vous devez utiliser l'option sur place "-je»Et la commande mentionnée ci-dessous vous aidera à le faire:

$ sed -i '/ ^ $ / d' supprimer.SMS

Méthode 2: Comment supprimer les lignes vides sélectionnées dans un fichier texte à l'aide de SED

La syntaxe pour supprimer des lignes spécifiques dans un fichier texte est écrite ci-dessous:

Syntaxe

sed [options] '(numéro de ligne) d' [nom de fichier]

La partie principale de la syntaxe sur laquelle s'appuie la commande est «(Nombre de lignes) D '» Vous devez mettre le numéro de ligne exact de ligne vide dans "(numéro de ligne)"Et la lettre"d»Affiche le numéro de ligne inséré sera supprimé:

Vous pouvez supprimer quelques lignes spécifiques dans un fichier texte à l'aide de la commande SED; Nous avons créé un nouveau fichier texte "nouveau.SMS"Pour cette section. Par exemple, la sortie de la commande ci-dessous montre ce numéro de ligne "2" est vide:

$ cat -n newfile.SMS

Et si vous souhaitez exécuter la commande pour supprimer cette ligne uniquement, vous devez spécifier le numéro de ligne comme nous l'avons fait dans la commande mentionnée ci-dessous:

$ sed '2d' newfile.SMS

Vous pouvez également supprimer des lignes consécutives en utilisant cette méthode; Par exemple, le «nouveau.SMS"Le fichier a 3 lignes vides"4,5,6«Comme on peut le voir dans l'image ci-dessous:

$ cat -n nouveau.SMS

Pour supprimer ces trois lignes consécutives; vous devez insérer ",”Entre les numéros de ligne de départ et de fin comme on peut le voir dans la commande ci-dessous:

$ sed '4,6d' Nouveau.SMS

Enfin, vous pouvez également utiliser l'option «-je«Pour enregistrer les modifications en permanence dans le fichier car sans cette option, la commande SED imprime le résultat sur le terminal car nous avons modifié la commande ci-dessus pour l'utiliser avec«-je" option:

$ sed -i '4,6d' nouveau.SMS

Conclusion

Ubuntu prend en charge plusieurs façons de manipuler les données dans un fichier texte; Par exemple, vous pouvez utiliser l'éditeur de texte par défaut d'Ubuntu, l'éditeur Nano, etc. Cependant, l'utilitaire de ligne de commande SED d'Ubuntu mène tous ces éditeurs en raison de ses fonctionnalités, comme l'accès au fichier à partir du terminal et apporter des modifications sans l'ouvrir. Dans cet article, nous avons utilisé la commande SED pour supprimer les lignes vides du fichier texte et décrit deux méthodes pour cette opération. "Méthode 1"Convient spécifiquement lorsque vous avez des centaines de lignes dans un fichier texte et que vous souhaitez supprimer toutes les lignes vides à la fois: en revanche,"Méthode 2"Convient à la suppression des lignes vides dans un petit document où vous pouvez supprimer les lignes une par une. Cependant, vous devez chercher vous-même des lignes vides, si vous voulez suivre "Méthode 2»: Donc, si la comparaison est établie entre les deux méthodes,«Méthode 1"Surpasse"Méthode 2«À propos de la suppression des lignes vides.