L'une des nombreuses commandes essentielles de Linux est également la commande SED qui joue un rôle vital dans la manipulation des fichiers. Il est utilisé à de nombreuses fins; Certains des principaux sont les suivants.
Supprimer ou supprimer cette ligne particulière qui correspond aux modèles donnés.
Donc, si vous songez à supprimer les lignes d'un fichier en utilisant la commande SED, veuillez lire notre article du début à la fin. Nous vous donnerons un mémoire sur les méthodes pour supprimer les lignes
Comment supprimer les lignes d'un fichier à l'aide de la commande SED?
Nous utiliserons la commande SED sans -I dans cet article car c'est un article de démonstration. Une méthode similaire est l'option «Dry Run», qui affiche toutes les valeurs du fichier sans apporter de modifications.
En utilisant la commande sed, nous pouvons supprimer les lignes en fonction de l'environnement en utilisant -I.
Pour afficher la commande SED, nous créons un fichier appelé Linuxhintos.SMS. Afin de fournir de meilleures informations, nous incluons ces numéros de ligne dans le contenu suivant.
Suppression des lignes d'un fichier basé sur la position
Cette pièce expliquera en utilisant la commande SED pour supprimer les lignes d'un fichier 'Linuxhintos.txt 'en fonction de sa position.
Tout d'abord, ouvrez le fichier à l'aide de la commande suivante:
chat ~ // /
Exécutez maintenant la commande ci-dessous pour supprimer la première ligne:
fichier sed 'nd'
Dans la commande ci-dessus:
N- Ligne «nième» dans un fichier
D- Suppression du fichier
Alors, exécutons cette commande dans notre exemple pour supprimer la 10e ligne du fichier texte:
Documents de CD
SED '10D' Linuxhintos.SMS
Supprimer la dernière ligne d'un fichier
Si nous devons supprimer la dernière ligne du fichier, au lieu de 'n' dans la syntaxe utilisée ci-dessus, nous utiliserons '$.'Ici, $ représente la dernière ligne.
fichier sed '$ d'
Après cela, notre fichier passera à quelque chose comme ça.
Retirez la première ligne et la dernière ligne ensemble
Si nous voulons supprimer les première et dernière lignes, nous devons combiner les deux commandes ci-dessus.
Sed 'nd; $ d' nom de fichier
Avec cette commande, nos deux et dernières lignes sont supprimées du fichier simultanément.
Comme vous pouvez le voir dans l'image ci-dessus, la première et la dernière ligne ont été supprimées du fichier texte.
Supprimer une gamme de lignes
La commande SED peut supprimer les lignes de n'importe quelle gamme. Pour cela, nous devons simplement entrer des numéros de ligne «minimum» et «maximum».
Dans cet exemple, nous supprimerons les lignes allant de 4 à 7 nombres.
Fichier SED '4,7d'
Après avoir retiré ces gammes de lignes, notre fichier ressemblera à ceci.
Supprimer plusieurs lignes
SED peut également supprimer plusieurs lignes dans un ensemble. Comme vous pouvez le voir, nous avons supprimé les troisième, sixième, huitième et dernière lignes de cet exemple.
SED '3d; 6d; 8d; fichier $ d'
Lors de l'application de la commande SED écrite ci-dessus, les modifications suivantes se produisent dans notre fichier 'Linuxhintos.SMS'.
Suppression de lignes autres que la ligne spécifiée ou la plage de lignes spécifiée
À travers la commande sed, nous supprimons ces lignes des fichiers qui ne sont pas définis dans la commande, je.e., Les lignes autres que celles décrites sont supprimées.
De ce fichier, nous supprimerons les lignes restantes en dehors des numéros 4 à 7.
Sed '4,7! D 'fichier
Ici, le signe de «!»Représente que nous ne devons pas supprimer la ligne de ce numéro spécifique du fichier.
! - utilisé pour conserver le nombre spécifique de lignes du fichier
Après cela, notre fichier ressemblera à ceci:
Retirez les lignes vides ou vides
La commande SED écrite ci-dessous supprime les lignes vides ou vides du fichier approprié.
fichier sed '/ ^ $ / d'
Puisqu'il n'y a pas de lignes vierges ou vides dans notre fichier, aucune modification n'a eu lieu:
Supprimer les lignes du fichier en fonction du modèle
Dans la deuxième partie, nous verrons qu'avec l'aide de la commande SED, comment nous supprimons les lignes d'un modèle similaire.
Suppression des lignes qui contiennent un motif
Dans l'exemple, la commande suivante supprime les lignes correspondant au modèle «système» du fichier 'Linuxhintos.SMS'.
Fichier SED '/ System / D'
Nous devons donc supprimer ces lignes qui n'ont «pas disponible». C'est pourquoi nous exécuterons la commande ci-dessous:
sed '/ non disponible / d' Linuxhintos.SMS
Retrait des lignes qui contiennent une ou plusieurs chaînes
Grâce à la commande SED, nous pouvons supprimer les lignes correspondant au modèle «non mis à jour» ou «non disponible» à partir du fichier 'Linuxhintos.txt 'et cette commande est quelque chose comme ceci:
sed '/ non mis à jour \ | non disponible / D' Linuxhintos.SMS
Supprimer les lignes qui commencent par un personnage spécifique
Nous pouvons supprimer toutes les lignes en commençant par n'importe quel caractère via la commande SED. Nous avons créé un nouveau fichier nommé 'Linuxhintos.txt 'avec le contenu suivant:
La commande SED ci-dessous supprimera toutes les lignes à commencer par le caractère 'A'.
fichier sed '/ ^ a / d'
Nous supprimerons ces lignes de notre fichier, qui commencent par «a» et «l». Pour lequel nous utiliserons la commande suivante.
SED '/ ^ [AL] / D' Fichier
En utilisant SED, nous supprimons toutes les lignes commençant par «A» et se terminant par la chaîne «Linux».
sed '/ ^ (a).* (Linux) / D 'fichier
Supprimer les lignes qui se terminent par un caractère spécifié
Cette commande SED supprime toutes les lignes se terminant par «m."
fichier sed '/ m $ / d'
La commande SED suivante supprimera les lignes se terminant par des caractères «M» et «X».
fichier sed '/ [xm] $ / d'
Les lignes de caractères se terminant par «m» et «x» sont supprimées de notre fichier; Ensuite, notre fichier ressemblera à ceci.
Supprimer toutes les lignes qui commencent par des majuscules
Nous supprimerons toutes ces lignes du fichier à l'aide de la commande suivante: une lettre majuscule.
SED '/ ^ [A-Z] / D' Fichier
Après avoir appliqué la commande ci-dessus, toutes les lignes de notre fichier qui ont commencé avec des lettres majuscules seront supprimées, et le changement dans notre fichier sera comme ça.
Supprimer une ligne de modèle correspondante avec une plage spécifiée
À l'aide de la commande suivante, nous ne supprimerons que ces lignes de certaines lignes définies avec un modèle spécifique.
Cet exemple ne supprime que les lignes avec des modèles Linux du fichier entre 1 et 6 lignes.
SED '1,6 / linux / d; fichier
Après avoir appliqué la commande, notre fichier 'sed - Demo-1.txt 'ressemblera à quelque chose comme ça.
Nous supprimerons la deuxième ligne avec la commande SED suivante uniquement si elle contient le motif «OpenSuse».
SED '2 / OpenSUSE / D;' Fichier
La commande appropriée supprimera la deuxième ligne de notre fichier 'sed - Demo-1.txt 'car il a un modèle spécifique de «opensuse."
La commande appropriée supprimera la deuxième ligne de notre fichier 'sed - Demo-1.txt 'car il a un modèle spécifique de «opensuse."
Nous pouvons également supprimer la ligne correspondant au modèle «système» et la ligne suivante dans le fichier à l'aide de la commande SED.
SED '/ System / n; D;' Fichier
Retirez les lignes ayant des modèles spécifiques
Vous pouvez supprimer toutes les lignes suivant le modèle «CentOS» en utilisant la commande SED.
SED '/ CENTOS /, $ D' Fichier
Suppression des lignes contenant des nombres / chiffres
Avec la commande SED écrite ci-dessous, nous pouvons supprimer toutes les lignes contenant du chiffre.'
Fichier SED '/ [0-9] / D'
En apportant quelques modifications dans la commande SED, nous supprimerons toutes ces lignes du fichier qui commencent avec seulement des chiffres.
SED '/ ^ [0-9] / D' Fichier
Après cette commande, toutes les lignes qui commencent par des chiffres seront supprimées de notre fichier.
Encore une fois, en apportant quelques modifications dans la commande, nous supprimerons uniquement ces lignes du fichier qui se termine par un chiffre.
fichier sed '/ [0-9] $ / d'
Suppression des lignes contenant des caractères alphabétiques d'un fichier
Avec la commande SED, nous supprimerons toutes les lignes du fichier 'LinuxHintos.txt, 'qui contiennent des caractères alphabétiques.
Fichier SED '/ [A-ZA-Z] / D'
Conclusion
Cet article montre plusieurs exemples de suppression des lignes d'un fichier à l'aide de la commande SED. Nous voyons comment avec l'aide de la commande SED, nous pouvons facilement supprimer toutes les lignes des fichiers. Si nous nous souvenons de ces commandes, alors nous économions beaucoup de temps tout en réduisant.