Ces 10 exemples Sed feront de vous un utilisateur expérimenté de Linux

Ces 10 exemples Sed feront de vous un utilisateur expérimenté de Linux

L'édition de fichiers texte et de sortie de terminal est un travail quotidien pour ceux qui administrent des machines Linux. Les utilitaires de ligne de commande tels que sed permettent à un utilisateur de modifier et de changer le contenu d'un fichier texte directement à partir de la fenêtre du terminal.



Dans cet article, nous aborderons en détail la commande sed, ainsi que quelques exemples essentiels qui démontrent la puissance de l'utilitaire sed sous Linux.





Qu'est-ce que la commande sed ?

La commande sed, qui est l'acronyme de Éditeur de flux , est un outil en ligne de commande qui permet aux utilisateurs de Linux d'effectuer des opérations basées sur du texte sur des fichiers et des sorties de terminal. À l'aide de sed, les utilisateurs peuvent rechercher et remplacer des mots spécifiques dans un texte, afficher une certaine section de la sortie et modifier des fichiers texte sans les ouvrir.





Les trois opérations de base prises en charge par la commande sed sont :

  1. Insertion
  2. Effacement
  3. Substitution (Rechercher et remplacer)

Les utilisateurs avancés peuvent également implémenter des expressions régulières avec la commande sed pour éditer les flux de texte plus efficacement.



La syntaxe de base de la commande est :

sed [options] [pattern] [filepath]

...où options sont les différentes fonctionnalités de la commande, modèle est l'expression régulière ou le script que vous souhaitez faire correspondre, et chemin du fichier est le chemin d'accès au fichier texte qui contient le texte.





comment définir des gifs comme fond d'écran

10 exemples de la commande Linux sed

Si vous envisagez de devenir un utilisateur Linux régulier, savoir comment éditer des fichiers, rechercher et remplacer des mots spécifiques et filtrer la sortie du terminal peut vous être utile. Cette section couvre quelques exemples de la commande sed qui vous transformera définitivement en un utilisateur expérimenté de Linux.

Nous utiliserons le fichier texte suivant pour la démonstration dans le post.





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1. Afficher une plage de lignes

Les commandes Linux telles que head et tail affichent les dix premières ou les dix dernières lignes d'un fichier texte. Mais que se passe-t-il si vous souhaitez obtenir le contenu entre deux lignes spécifiques dans un fichier ? Dans de telles situations, la commande sed peut s'avérer utile.

Pour sortir le contenu entre les lignes 3 et 5 du fichier fichiertexte.txt :

sed -n '3,5p' textfile.txt

Les -n flag empêche sed d'afficher l'espace de motif à la fin de chaque cycle. Vous pouvez également utiliser le --calmer et --silencieux options au lieu de -n . Les p l'argument représente imprimer et est utilisé pour afficher les lignes correspondantes à l'utilisateur.

L'exécution de la commande susmentionnée sur le fichier d'exemple produit la sortie suivante.

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

Pour sortir tout le contenu du fichier à l'exception de la plage spécifiée, utilisez le drapeau au lieu de p dans la commande :

sed '3,5d' textfile.txt

Les flag supprime les chaînes correspondantes de la sortie et affiche le reste du contenu.

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2. Afficher des lignes non consécutives

Pour imprimer des lignes non consécutives entre plusieurs plages du fichier :

sed -n -e '1,2p' -e '5,6p' textfile.txt

Sortir:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

Les -Et le drapeau aide à exécuter plusieurs actions à l'aide d'une seule commande.

3. Insérer un espace entre les lignes

Si pour une raison quelconque vous souhaitez insérer des lignes vides entre chaque ligne dans un fichier texte, utilisez le g argument avec la commande sed par défaut.

comment créer un organigramme dans word
sed G textfile.txt

Pour insérer plusieurs lignes vides dans la sortie, passez plusieurs g arguments séparés par le point-virgule ( ; ) personnage.

sed 'G;G' textfile.txt

4. Remplacer un mot dans un fichier texte

Si vous souhaitez remplacer chaque occurrence d'un mot spécifique par un autre mot, utilisez le s et g arguments avec la commande. La syntaxe de base pour substituer des mots à l'aide de la commande sed est :

sed s/originalword/replaceword/g filename

En utilisant la syntaxe mentionnée ci-dessus, vous pouvez remplacer le mot incroyable avec super dans le fichier fichiertexte.txt :

sed s/amazing/super/g textfile.txt

Les s argument désigne substitution et le g La commande est utilisée pour remplacer le contenu correspondant par le contenu de remplacement spécifié.

Pour remplacer la deuxième occurrence du mot par sed, transmettez un nombre au g argument. Dans ce cas:

sed s/amazing/super/g2 textfile.txt

Si vous souhaitez ignorer la casse des caractères lors de la substitution de mots, utilisez donner à la place de g , où je signifie ignorer Cas.

sed s/Amazing/super/gi textfile.txt

En rapport: Utiliser Vi ? Voici comment ouvrir un fichier puis enregistrer et quitter

5. Substituer des mots à l'intérieur d'une plage

Vous pouvez également substituer des mots à l'intérieur d'une plage spécifique.

sed '2,5s/amazing/super/g' textfile.txt

6. Effectuez plusieurs substitutions à la fois

Si vous souhaitez effectuer deux ou plusieurs substitutions à la fois, séparez simplement les commandes avec le point-virgule ( ; ) personnage.

sed 's/amazing/super/g;s/command/utility/gi' textfile.txt

Le système affichera la sortie suivante.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

7. Remplacez les mots uniquement si une correspondance est trouvée

Vous pouvez également utiliser la commande sed pour remplacer un mot uniquement si une correspondance donnée est trouvée dans la ligne. Par exemple, pour remplacer le mot à avec un si le mot Orange est présent dans la ligne :

sed -e '/orange/ s/a/an/g' textfile.txt

L'émission de la commande mentionnée ci-dessus affichera :

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

Notez que le mot à dans la ligne C'est une pomme n'a pas été remplacé car le système n'a pas trouvé le mot Orange dedans.

8. Substituer des mots à l'aide d'expressions régulières

Pour ceux qui savent utiliser les expressions régulières, effectuer des opérations sur des chaînes à l'aide de la commande sed devient beaucoup plus facile. Vous pouvez implémenter des expressions régulières pour améliorer la puissance de la commande.

Pour remplacer toutes les occurrences du mot Incroyable ou incroyable avec super :

sed -e 's/[Aa]mazing/super/g' textfile.txt

De même, vous pouvez également utiliser des expressions régulières avancées pour exécuter des opérations spécifiques à l'aide de la commande sed.

9. Pipe sed avec d'autres commandes

Vous pouvez également enchaîner sed avec d'autres commandes Linux. Par exemple, vous pouvez canaliser le lspci commande avec sed pour ajouter des espaces vides entre les lignes dans la sortie.

lspci | sed G

Pour remplacer des mots spécifiques dans la sortie du montrer l'itinéraire ip commander:

ip route show | sed s/src/source/g

La commande susmentionnée remplace le mot la source à la place du mot original src .

En rapport: Comment utiliser la commande Rechercher pour rechercher des fichiers sous Linux

10. Modifier et sauvegarder le fichier d'origine

Lorsque vous travaillez avec des fichiers système, il est important de sauvegarder le fichier d'origine tout en apportant des modifications. Cela vous aidera à annuler les modifications au cas où quelque chose se briserait.

Pour sauvegarder le fichier d'origine à l'aide de sed, utilisez le -je drapeau dans la commande.

comment trouver des chansons cachées sur spotify
sed -i'.backup' 's/amazing/super/g' textfile.txt

Un nouveau fichier sera créé avec le nom textfile.txt.backup . Vous pouvez vérifier que les deux fichiers sont différents en utilisant le différence commander.

diff textfile.txt textfile.txt.backup

Modification de chaînes sous Linux avec sed

Parfois, pendant que vous travaillez avec des fichiers texte sur le terminal, le formatage et la modification de la sortie pour une meilleure lisibilité deviennent indispensables. Sed et awk sont des utilitaires de ligne de commande sous Linux qui permettent à un utilisateur de travailler efficacement avec des fichiers texte en divisant les données en lignes distinctes.

De nombreux utilisateurs ont du mal à mémoriser les arguments et les drapeaux de la commande sed car il y en a beaucoup qui peuvent être utilisés. Savoir comment obtenir des manuels de ligne de commande pour n'importe quelle commande Linux vous aidera à vous sortir facilement de telles situations.

Partager Partager Tweeter E-mail 7 façons d'obtenir de l'aide en ligne de commande sur Linux

Toutes les commandes essentielles pour découvrir les commandes Linux à partir de la ligne de commande

Lire la suite
Rubriques connexes
  • Linux
  • Éditeur de texte
  • Terminal
  • Invite de commandes
A propos de l'auteur Profonde Sharma(79 articles publiés)

Deepesh est l'éditeur junior pour Linux chez MUO. Il écrit des guides d'information sur Linux, visant à offrir une expérience heureuse à tous les nouveaux arrivants. Pas sûr des films, mais si vous voulez parler de technologie, c'est votre homme. Pendant son temps libre, vous pouvez le trouver en train de lire des livres, d'écouter différents genres musicaux ou de jouer de sa guitare.

Plus de Deepesh Sharma

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner