La commande SED est une commande Linux puissante qui permet d'effectuer des tâches générales, c'est-à-dire d'analyser et de transformer du texte. De nos jours, SED fonctionne sur tous les principaux systèmes d'exploitation.
La syntaxe et un certain nombre de fonctionnalités utiles de SED sont principalement empruntées à l'éditeur ed. Le mécanisme lui-même comprend des flux d'entrée standard ainsi que des fichiers texte. La syntaxe basée sur les scripts de SED semble initialement un peu difficile. Cependant, de nombreuses tâches complexes peuvent être résolues avec quelques lignes de script SED.
Installation SED
Dans la distribution basée sur Linux, SED est installé par défaut. N'oubliez pas qu'avant de commencer, vous devez accéder à votre VPS avec SSH. Consultez notre tutoriel PuTTY si vous rencontrez des problèmes. La commande which peut être utilisée pour vérifier si le système a un SED ou non. Une Debian GNU/Linux peut installer SED en utilisant le gestionnaire de paquets apt comme suit :
[user]: ~$ sudo apt-get install sed
Afin de s'assurer que le SED est installé avec succès, la commande suivante est utilisée :
[user]: ~$ sed --version
La commande renvoie la sortie suivante :
sed (GNU sed) 4.2.2
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Jay Fenlason, Tom Lord, Ken Pizzini,
and Paolo Bonzini.
GNU sed home page: http://www.gnu.org/software/sed/.
General help using GNU software: http://www.gnu.org/gethelp/.
E-mail bug reports to: [email protected]
Flux de travail SED
Le flux de travail de base de SED est Lire, Exécuter et Afficher, comme indiqué dans la Figure 1 .
La commande de lecture prend la valeur d'entrée et la stocke dans un tampon de modèle . La partie d'exécution exécute séquentiellement la commande sur un fichier. Après l'exécution, il affiche le flux de sortie. Le tampon de modèle est libéré lorsque le contenu est affiché sur l'interface. Le processus de commande de lecture, d'exécution et d'affichage se répète jusqu'à la fin du fichier.
Exemple SED
Pour le dire simplement, SED lit un fichier et affiche son texte. Pour créer le fichier texte, utilisez l'éditeur vi.
[user]: ~$ vi text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
La commande pour lire un fichier texte est la suivante :
[user]: ~$ sed ‘’ text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
La commande prend l'entrée du fichier "text.txt ”. Avant de télécharger le fichier d'entrée, écrivez un argument de ligne de commande entre guillemets simples. Cela "indique" à la ligne de commande d'exécuter SED.
SED lit le fichier d'entrée "text.txt ” et stocke les données dans un tampon de modèle. Après cela, l'opération peut être effectuée.
Dans ce cas, nous passons un argument vide pour qu'aucune opération ne soit effectuée. SED affiche les données stockées en tant que sortie standard et vide son tampon de modèle.
[user]: ~$ sed ‘’Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer ProgramsPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
La commande SED '' prend l'entrée du clavier. Il est affiché sur la première et la deuxième ligne. Il affiche les données stockées dans le tampon de modèle. Pour fermer la session SED, utilisez CTRL+D saisie au clavier.
Commandes de base
Apprenons les utilisations de base de la commande Linux SED :
Supprimer la commande
Pour exécuter la commande de suppression, utilisez d avec un fichier entre guillemets. La commande supprimera la première ligne du fichier text.txt
[user]: ~$ sed ‘1d’ text.txt
Commande d'écriture :Pour exécuter la commande d'écriture, écrivez w , le numéro de ligne et le fichier entre guillemets. La commande suivante lit la deuxième ligne et l'écrit dans le text2.txt fichier.
[user]: ~$ sed '2~2 w text2.txt' text.txt [user]: ~$ cat text2.txt Harold Abelson, Structure and Interpretation of Computer Programs
Ajouter une commande
Utilisez le mot-clé et un numéro de ligne entre guillemets. Après avoir fermé les guillemets, fournissez la source jointe. La commande suivante s'ajoute après la deuxième ligne dans le fichier text.txt.
[user]: ~$ sed '2 a The Append example' text.txt[user]: ~$ cat text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer ProgramsThe Append example'
Lire la commande
Utilisez r et tapez l'emplacement du fichier entre guillemets. La commande suivante lira l'entrée d'un fichier texte et l'ajoutera après la troisième ligne dans le text2.txt fichier.
[user]: ~$ sed '3 r text.txt' text2.txt [user]: ~$ cat text2.txt Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs The Append example' Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
Conclusion
Dans ce didacticiel, vous avez découvert l'installation de SED et les opérations de base. L'utilitaire SED permet à l'utilisateur d'utiliser la ligne de commande de plusieurs façons.
Il aide à résoudre des problèmes complexes de manière efficace. Non seulement SED, GNU-Linux fournit de nombreux utilitaires utiles pour effectuer les tâches quotidiennes.