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 | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [28/07/2014 13:14] Hypathie [Introduction] |
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [28/07/2014 17:30] Hypathie [Commandes indiquant en elle-même un adressage sed] |
||
---|---|---|---|
Ligne 310: | Ligne 310: | ||
- | ===Adressage double === | + | =====Commandes de sed supportant les adressages universaux===== |
+ | ^ ^ ^ | ||
+ | |i\texte |insérer du texte | | ||
+ | |a\texte |ajouter du texte | | ||
+ | |||
+ | |||
+ | ==="i" : insertion avant la ligne d'adressage=== | ||
+ | <code user> | ||
+ | sed -i '1i\Ton sentiment comme atmosphère' sed-cmd | ||
+ | </code> | ||
+ | <code user> | ||
+ | cat sed-cmd | ||
+ | </code> | ||
+ | Ton sentiment comme atmosphère | ||
+ | automne | ||
+ | mon bel automne | ||
+ | dans les vergers | ||
+ | du fond du ciel | ||
+ | les éperviers | ||
+ | de tes yeux planent | ||
+ | tes feuilles | ||
+ | tes fruits, ta pomme | ||
+ | et le cerf, et son brame | ||
+ | à jamais aimés | ||
+ | de l'homme | ||
+ | en ton cheveu | ||
+ | me donnent | ||
+ | et des langueurs | ||
+ | et son adieu | ||
+ | </code> | ||
+ | |||
+ | === "a" : ajout après l'adressage=== | ||
+ | <code user> | ||
+ | sed -e '1a\ ' -e '2,$s/^/ /' -i sed-cmd | ||
+ | </code> | ||
+ | <code user> | ||
+ | cat sed-cmd | ||
+ | </code> | ||
+ | <code> | ||
+ | Ton sentiment comme atmosphère | ||
+ | |||
+ | automne | ||
+ | mon bel automne | ||
+ | dans les vergers | ||
+ | du fond du ciel | ||
+ | les éperviers | ||
+ | de tes yeux planent | ||
+ | tes feuilles | ||
+ | tes fruits, ta pomme | ||
+ | et le cerf, et son brame | ||
+ | à jamais aimés | ||
+ | de l'homme | ||
+ | en ton cheveu | ||
+ | me donnent | ||
+ | et des langueurs | ||
+ | et son adieu | ||
+ | </code> | ||
+ | |||
+ | ====Adressage double ==== | ||
C'est une paire d'adresses simples séparées par une virgule. Toutes les combinaisons sont possibles. | C'est une paire d'adresses simples séparées par une virgule. Toutes les combinaisons sont possibles. | ||
Ligne 318: | Ligne 376: | ||
* combinaison ''/ER/,n'' : La plage est constituée à partir de la première ligne vérifiant l'expression régulière jusqu'à la ligne de numéro ''n''. | * combinaison ''/ER/,n'' : La plage est constituée à partir de la première ligne vérifiant l'expression régulière jusqu'à la ligne de numéro ''n''. | ||
- | ====Les commandes de sed supportant les adressages universaux==== | + | ====Les commandes de sed supportant les adressages universaux et l'adressage double==== |
^ ^ ^ | ^ ^ ^ | ||
- | |d et D|supprimer | | + | |d |supprimer | |
- | |p et P |afficher avec ''-n'' | | + | |p |afficher avec ''-n'' | |
| = |afficher n° de ligne(s) | | | = |afficher n° de ligne(s) | | ||
|y/..../..../ | translittération | | |y/..../..../ | translittération | | ||
|c\texte |changement de texte| | |c\texte |changement de texte| | ||
- | ====Exemples ==== | + | |
===Préparation === | ===Préparation === | ||
<code text sed-cmd> | <code text sed-cmd> | ||
Ligne 347: | Ligne 405: | ||
- | ==="p" : affichage === | + | ===="p" : affichage ==== |
<code user> | <code user> | ||
sed -n '/.*,[[:space:]]/,10p' sed-cmd | sed -n '/.*,[[:space:]]/,10p' sed-cmd | ||
Ligne 357: | Ligne 415: | ||
</code> | </code> | ||
- | ==="d" : suppression === | + | ===="d" : suppression ==== |
<code user> | <code user> | ||
sed '/tes/,10d' sed-cmd | sed '/tes/,10d' sed-cmd | ||
Ligne 373: | Ligne 431: | ||
et son adieu | et son adieu | ||
</code> | </code> | ||
- | === "=" numérotation=== | + | |
+ | ==== "=" numérotation==== | ||
<code user> | <code user> | ||
sed '1,$=' sed-cmd | sed '1,$=' sed-cmd | ||
Ligne 410: | Ligne 469: | ||
</code> | </code> | ||
- | === "y" : translittération=== | + | ==== "y" : translittération==== |
<code user> | <code user> | ||
sed '2,$!y/a/A/' sed-cmd | sed '2,$!y/a/A/' sed-cmd | ||
Ligne 432: | Ligne 491: | ||
</code> | </code> | ||
- | === "c" : changement de texte=== | + | ==== "c" : changement de texte==== |
<code user> | <code user> | ||
sed -e '3,$c\ | sed -e '3,$c\ | ||
Ligne 448: | Ligne 507: | ||
</code> | </code> | ||
- | ====Commandes de sed ne supportant que les adressages simples==== | ||
- | ^ ^ ^ | ||
- | |i\texte |insérer du texte | | ||
- | |a\texte |ajouter du texte | | ||
- | |||
- | ==="i" : insertion avant la ligne d'adressage=== | ||
- | <code user> | ||
- | sed -i '1i\Ton sentiment comme atmosphère' sed-cmd | ||
- | </code> | ||
- | <code user> | ||
- | cat sed-cmd | ||
- | </code> | ||
- | Ton sentiment comme atmosphère | ||
- | automne | ||
- | mon bel automne | ||
- | dans les vergers | ||
- | du fond du ciel | ||
- | les éperviers | ||
- | de tes yeux planent | ||
- | tes feuilles | ||
- | tes fruits, ta pomme | ||
- | et le cerf, et son brame | ||
- | à jamais aimés | ||
- | de l'homme | ||
- | en ton cheveu | ||
- | me donnent | ||
- | et des langueurs | ||
- | et son adieu | ||
- | </code> | ||
- | |||
- | === "a" : ajout après l'adressage=== | ||
- | <code user> | ||
- | sed -e '1a\ ' -e '2,$s/^/ /' -i sed-cmd | ||
- | </code> | ||
- | <code user> | ||
- | cat sed-cmd | ||
- | </code> | ||
- | <code> | ||
- | Ton sentiment comme atmosphère | ||
- | |||
- | automne | ||
- | mon bel automne | ||
- | dans les vergers | ||
- | du fond du ciel | ||
- | les éperviers | ||
- | de tes yeux planent | ||
- | tes feuilles | ||
- | tes fruits, ta pomme | ||
- | et le cerf, et son brame | ||
- | à jamais aimés | ||
- | de l'homme | ||
- | en ton cheveu | ||
- | me donnent | ||
- | et des langueurs | ||
- | et son adieu | ||
- | </code> | ||
=====La commande "s"===== | =====La commande "s"===== | ||
Ligne 1124: | Ligne 1127: | ||
> Lecture d'une ligne du fichier d'entrée dans l'espace de travail à laquelle est appliquée chaque commande du script séquentiellement. | > Lecture d'une ligne du fichier d'entrée dans l'espace de travail à laquelle est appliquée chaque commande du script séquentiellement. | ||
> Lorsque la fin d'une ligne de commande sed est atteinte, la ligne enregistrée et travaillée est alors envoyée sur la sortie standard,\\ | > Lorsque la fin d'une ligne de commande sed est atteinte, la ligne enregistrée et travaillée est alors envoyée sur la sortie standard,\\ | ||
- | > Puis l'espace de travail est effacé; | + | > Puis l'espace de travail est effacé ; |
> Autrement dit, __leur fonctionnement se base sur une utilisation simple du //"pattern space"//__. | > Autrement dit, __leur fonctionnement se base sur une utilisation simple du //"pattern space"//__. | ||
Ligne 1137: | Ligne 1140: | ||
**Il reste à présenter :** | **Il reste à présenter :** | ||
- | * Les commandes multi-lignes (N,D,P) | ||
* Les commandes utilisant la mémoire annexe (h,H,g,G,x) | * Les commandes utilisant la mémoire annexe (h,H,g,G,x) | ||
* Les commandes de tests faisant appel à des étiquettes (:,b,t,T) | * Les commandes de tests faisant appel à des étiquettes (:,b,t,T) | ||
</note> | </note> | ||
+ | ------------- | ||
+ | |||
+ |