Éditeur de flux (SED) : les bases

Editeur De Flux Sed Les Bases



SED, également connu sous le nom d'éditeur de flux, est un outil très utile. Il est utilisé pour rechercher un mot ou un modèle particulier et ensuite faire quelque chose sur le mot ou le modèle ou en d'autres termes le transformer. Sous Windows, SED est également connu sous le nom de fonctions « rechercher » et « remplacer ». SED est fourni avec Ubuntu, il n'est donc pas nécessaire d'installer quoi que ce soit ; commencez simplement à l'utiliser. Dans ce tutoriel, nous vous expliquerons comment utiliser SED ou l'éditeur de flux.

La commande « S »

La plus importante de toutes les commandes de SED ou de l'éditeur de flux est la commande « s ». Le « s » signifie substitut. La syntaxe est la suivante :







's / expression rationnelle / remplacement / drapeaux


Utilisons donc un fichier appelé « file.txt » pour les exemples. Voici à quoi ressemble « file.txt » si vous le saisissez :




Utilisons un exemple pour montrer comment fonctionne la commande « s » :



mais 's / d'abord / lune / je file.txt > lune.txt


Lorsqu’une telle expression est donnée, cela signifie :





    • s – Cela signifie substitut.
    • premier – Le mot à rechercher dans le fichier appelé « fichier.txt ».
    • lune – Le mot « premier » est remplacé par le mot « lune ».
    • i – Cela signifie ignorer. Nous ignorerons cette partie pour la première fois.
    • file.txt – Le fichier dans lequel SED va rechercher le modèle ou le mot. Dans ce cas, le mot « premier » sera :
    • recherché dans le fichier.txt

    • moon.txt – Lorsque le mot « first » est remplacé par le mot « moon », il sera enregistré sous « moon.txt ».

Alors, que se passe-t-il ici ? SED remplace le mot « premier » par « lune » uniquement dans la première instance (cela signifie que si le mot « premier » apparaît plusieurs fois, il ne le remplacera pas partout ni ne le remplacera pas plusieurs fois). Le fichier qu'il recherche s'appelle « file.txt » et une fois la transformation ou le remplacement effectué, il sera enregistré sous « moon.txt ».



Voici à quoi cela ressemble :


N'oubliez pas de mettre le '/' là où il doit être. Si vous omettez un «/», SED n'acceptera pas la commande.

Jusqu’à présent, nous avons seulement remplacé le mot « premier » par « rencontré ». Supposons maintenant que nous souhaitions remplacer le mot « ligne » (qui apparaît plusieurs fois – quatre fois pour être précis) dans la troisième ligne par le mot « ange ».

Comment pouvons-nous cibler spécifiquement cette troisième ligne ? Nous utilisons la commande suivante :

mais '3s / doubler / ange / je file.txt > ange.txt


Alors, que s'est-il passé ici ? Eh bien, le « 3 » précise le numéro de ligne. On passe donc à la troisième ligne. Ensuite, remplacez le mot « ligne » par « ange » dans le fichier appelé « file.txt » et enregistrez le fichier transformé sous « angel.txt ».


Et si on voulait remplacer ou transformer les lignes « 3 » et « 4 » ?

mais ' 3 ,4s / doubler / ange / je file.txt > ange2.txt



Notez que dans l'exemple précédent, nous avons utilisé l'indicateur « i » pour ignorer. Maintenant, nous utilisons le drapeau « g » pour global.

Utilisons un exemple pour montrer comment fonctionne la commande « s » :

mais 's / doubler / soleil / g' fichier.txt > soleil.txt


Lorsqu’une telle expression est donnée, cela signifie :

Le « g » signifie global. N'oubliez pas que dans le premier exemple, lorsque nous utilisons le drapeau « i », il n'y a qu'un seul remplacement. Maintenant que nous avons ajouté un « g » pour global, cela signifie remplacer partout. Ainsi, au lieu de dire première ligne, deuxième ligne, troisième ligne et dernière ligne, il est écrit premier soleil, deuxième soleil, troisième soleil et dernier soleil. Il remplace la ligne de mot dans tout le fichier (partout) par le mot « soleil ».


Maintenant, que se passe-t-il si nous voulons sélectionner une seule ligne en fonction d’un mot qu’elle contient ? Eh bien, nous pouvons voir que la dernière ligne de « fichier.txt » contient le mot « dernier ». Supposons maintenant que nous voulions le message « Ceci est la dernière ligne. C'est la dernière phrase. phrase pour devenir « Ceci est le dernier fantôme. C'est la dernière phrase.

Nous écrivons ce qui suit :

mais ' / dernier / s / doubler / fantôme / ' fichier.txt > fantôme.txt


Le «dernier» ici indique à SED de rechercher la ligne contenant le mot «dernier», puis de remplacer le mot «ligne» par «fantôme» dans cette ligne.


Supposons maintenant que nous voulions faire le contraire. Supposons que nous souhaitions que chaque ligne sans le mot «dernière» ait le mot «ligne» remplacé par «fantôme». Écrivons ce qui suit :

mais ' / dernier /! s / doubler / fantôme / ' fichier.txt > fantôme2.txt


Comme vous pouvez le voir ici, chaque ligne sauf la dernière (qui contient le mot « dernier ») a le mot « ligne » remplacé par le mot « fantôme ».


Nous pouvons également faire cela avec les numéros de ligne :

mais ' 3 , 4 ! s / doubler / nuit / je file.txt > nuit.txt


Dans ce cas, les lignes 3 et 4 sont omises mais une ligne sur deux voit le mot « ligne » remplacé par le mot « nuit ».

Commandes multiples

Et si vous aviez plusieurs commandes ? Préféreriez-vous le faire un à la fois ou tout d’un coup et gagner du temps et du travail ?

Et si nous voulions remplacer le mot « premier » par « jour », « deuxième » par « nuit » et « le reste » par « fantôme » ? Nous utilisons le point-virgule pour ce faire. N'oubliez pas de mettre le point-virgule à la fin !

Attention, vous n’êtes pas absolument obligé de mettre le drapeau « i » ou le drapeau « ignorer » mais vous devez absolument mettre le slash (/) après la phrase de transformation.

Maintenant, vérifions cela avec un exemple :

mais 's / d'abord / jour / ; s / deuxième / nuit / ; s / troisième / fantôme / ; s / dernier / fantôme / ;' fichier.txt > combinaison.txt


Conclusion

L'éditeur de flux ou SED est un moyen de sélectionner un mot ou un motif et de le transformer. Il s’agit en fait de l’équivalent en ligne de commande des fonctions « Rechercher » et « Remplacer » de Windows. La commande SED peut devenir très compliquée, mais si vous connaissez au moins les bases, vous êtes prêt à vous lancer ! SED est en fait un outil très puissant doté de nombreuses fonctions. Bien que nous ne puissions pas tous les couvrir dans un seul didacticiel, nous avons couvert les bases de SED. Essentiellement, nous avons appris à transformer un mot particulier en utilisant la commande « s » où « s » signifie substitut. Nous pouvons remplacer les mots par d'autres mots, choisir sélectivement une ligne où la substitution se produira, ou même l'annuler. Quoi qu’il en soit, c’est la partie la plus simple de SED.

Bon codage !