Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [28/07/2014 18:16] Hypathie [La commande s] |
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [28/07/2014 18:32] Hypathie [Les commande fonctionnant en rapport avec d'autres commandes] |
||
---|---|---|---|
Ligne 1122: | Ligne 1122: | ||
====La commande N==== | ====La commande N==== | ||
La commande "N" insère le caractère "nouvelle ligne" (\n) à la fin du contenu de l'espace de travail et ajoute la ligne suivante du flux d'entrée à l'espace de travail.\\ | La commande "N" insère le caractère "nouvelle ligne" (\n) à la fin du contenu de l'espace de travail et ajoute la ligne suivante du flux d'entrée à l'espace de travail.\\ | ||
- | Une fois le caractère "nouvelle ligne" dans l'espace de travail, il peut être appelé par \n par une commande interne de sed qui peut alors substituer un caractère par une nouvelle ligne.\\ | + | Une fois le caractère "nouvelle ligne" dans l'espace de travail, il peut être appelé par \n par une commande interne de sed qui peut alors substituer un caractère une nouvelle ligne par un espace.\\ |
===Exemples=== | ===Exemples=== | ||
+ | |||
+ | * Sans adressage : | ||
<code user> | <code user> | ||
- | echo -e "A\nB\nC\nD\nE" | sed '{N;s/B/X/}' | + | echo -e "coucou\ntiti" | sed '/coucou/{N;s/\n/ /}' |
+ | </code> | ||
+ | <code> | ||
+ | coucou titi | ||
+ | </code> | ||
+ | > Là, pour la ligne comportant "coucou", s se sert du caractère de fin de ligne placé dans l'espace de travail pour pouvoir matcher ce retour à la ligne avec "echo". | ||
+ | >Elle peut alors le remplacer par un espace entre "coucou" et "titi". | ||
+ | |||
+ | * Avec adressage : | ||
+ | <code user> | ||
+ | echo -e "A\nB\nC\nD\nE" | sed '/B/{N;s/\n/ /}' | ||
</code> | </code> | ||
<code> | <code> | ||
A | A | ||
- | X | + | B C |
- | C | + | |
D | D | ||
E | E | ||
</code> | </code> | ||
- | > Là, le caractère nouvelle ligne placé dans l'espace de travail n'a pas été utilisé par la substitution. | ||
+ | <note tip> | ||
+ | C'est l'inverse de ceci ! | ||
<code user> | <code user> | ||
- | echo -e "coucou\ntiti" | sed '/coucou/{N;s/\n/ /}' | + | echo "coucou titi" | sed 's/ /\n/' |
</code> | </code> | ||
<code> | <code> | ||
- | coucou titi | + | coucou |
+ | titi | ||
</code> | </code> | ||
- | > Là, pour la ligne comportant "coucou", s se sert du caractère de fin de ligne placé dans l'espace de travail pour pouvoir matcher ce retour à la ligne avec "echo". | + | </note> |
- | >Elle peut alors le remplacer par un espace entre "coucou" et "titi". | + | |
====D ( Delete ) ==== | ====D ( Delete ) ==== |