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 [27/07/2014 15:52] Hypathie [Les rapport d'implication /adressages/ <=> commandes de sed] |
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [27/07/2014 16:32] Hypathie [La commande s] |
||
---|---|---|---|
Ligne 48: | Ligne 48: | ||
</code> | </code> | ||
- | //Ce que j'appelle là "options_cmd_de_sed" est appelé selon la documentation "drapeaux", ou encore "options". Elle dépend de la connaissance des commandes de sed.// | + | //Ce que j'appelle là "options_cmd_de_sed" est appelé selon la documentation "drapeaux", ou "options", ou encore "indicateur". Elle dépend de la connaissance des commandes de sed.// |
-> La compréhension de la documentation et le fonctionnement global de sed sont facilités lorsque l'on maîtrise un double rapport d'implications :\\ | -> La compréhension de la documentation et le fonctionnement global de sed sont facilités lorsque l'on maîtrise un double rapport d'implications :\\ | ||
Ligne 432: | Ligne 432: | ||
==="i" : insertion avant la ligne d'adressage=== | ==="i" : insertion avant la ligne d'adressage=== | ||
<code user> | <code user> | ||
- | sed '1i\Ton sentiment comme atmosphère' sed-cmd | + | sed -i '1i\Ton sentiment comme atmosphère' sed-cmd |
+ | </code> | ||
+ | <code user> | ||
+ | cat sed-cmd | ||
</code> | </code> | ||
- | <code> | ||
Ton sentiment comme atmosphère | Ton sentiment comme atmosphère | ||
automne | automne | ||
Ligne 455: | Ligne 457: | ||
=== "a" : ajout après l'adressage=== | === "a" : ajout après l'adressage=== | ||
<code user> | <code user> | ||
- | sed '1a\ ' sed-cmd | + | sed -e '1a\ ' -e '2,$s/^/ /' -i sed-cmd |
+ | </code> | ||
+ | <code user> | ||
+ | cat sed-cmd | ||
</code> | </code> | ||
<code> | <code> | ||
- | automne | + | Ton sentiment comme atmosphère |
- | mon bel automne | + | automne |
- | dans les vergers | + | mon bel automne |
- | du fond du ciel | + | dans les vergers |
- | les éperviers | + | du fond du ciel |
- | de tes yeux planent | + | les éperviers |
- | tes feuilles | + | de tes yeux planent |
- | tes fruits, ta pomme | + | tes feuilles |
- | et le cerf, et son brame | + | tes fruits, ta pomme |
- | à jamais aimés | + | et le cerf, et son brame |
- | de l'homme | + | à jamais aimés |
- | en ton cheveu | + | de l'homme |
- | me donnent | + | en ton cheveu |
- | et des langueurs | + | me donnent |
- | et son adieu | + | et des langueurs |
+ | et son adieu | ||
</code> | </code> | ||
Ligne 479: | Ligne 485: | ||
====Méthodes d'appel==== | ====Méthodes d'appel==== | ||
<code> | <code> | ||
- | s/motif/substitut/[indicateur] fichier | + | s/motif/substitut/[options_cmd_de_sed] fichier |
</code> | </code> | ||
ou | ou | ||
<code> | <code> | ||
- | cmd | s/motif/substitut/[indicateur] | + | cmd | s/motif/substitut/[options_cmd_de_sed] |
</code> | </code> | ||
Ligne 491: | Ligne 497: | ||
<code user> | <code user> | ||
s/motif/substitut/ | s/motif/substitut/ | ||
- | -> si motif = une regexp | + | -> si motif = une E.R |
-> alors subtitut = une chaîne de caractère | -> alors subtitut = une chaîne de caractère | ||
</code> | </code> | ||
- | >Pour Regexp | + | >Pour //E.R// |
>On peut utiliser la syntaxe habituelle, ou la syntaxe étendue avec l'option ''sed -r''. | >On peut utiliser la syntaxe habituelle, ou la syntaxe étendue avec l'option ''sed -r''. | ||
>Voir : [[utilisateurs:hypathie:tutos:sed-et-les-expressions-rationnelles]] | >Voir : [[utilisateurs:hypathie:tutos:sed-et-les-expressions-rationnelles]] | ||
Ligne 501: | Ligne 507: | ||
====Détail : la ligne de commande "s"==== | ====Détail : la ligne de commande "s"==== | ||
<code c> | <code c> | ||
- | s/expression1/expression2/[indicateur] | + | s/expression1/expression2/[options_cmd_de_sed] |
</code> | </code> | ||
===les séparateurs ( / )=== | ===les séparateurs ( / )=== | ||
Ligne 537: | Ligne 543: | ||
- | ===Les indicateurs=== | + | ===détail : options-cmd-de-sed=== |
^ ^ ^ | ^ ^ ^ | ||
Ligne 614: | Ligne 620: | ||
La commande ''s'' supporte les [[utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste?&#les-adressages-universaux|adressages universaux]].\\ | La commande ''s'' supporte les [[utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste?&#les-adressages-universaux|adressages universaux]].\\ | ||
Elle permet en plus de nouveaux types d'adressage. | Elle permet en plus de nouveaux types d'adressage. | ||
- | ===Remarque sur l'adressages mixtes : 'n,/regexp/' ou '/regexp/,n' === | + | ===Remarque sur l'adressages mixtes : 'n,/E.R./' ou '/E.R./,n' === |
- | __1) 'n,/regexp/s/chaineA/chaineB'__ | + | __1) 'n,/E.R./s/chaineA/chaineB'__ |
''n'' est un nombre entier. | ''n'' est un nombre entier. | ||
- | On remplace chaîneA par chaîneB de la ligne ''n'' à la ligne comportant /regexp/.\\ | + | On remplace chaîneA par chaîneB de la ligne ''n'' à la ligne comportant /E.R./.\\ |
* Préparation : fichier "sed1.txt | * Préparation : fichier "sed1.txt | ||
Ligne 644: | Ligne 650: | ||
</code> | </code> | ||
- | __2) '/regexp/ns/chaîneA/chaîneB/'__ | + | __2) '/E.R./ns/chaîneA/chaîneB/'__ |
* Substitution à partir de la chaîne "orange" jusqu'à la ligne n° 5 | * Substitution à partir de la chaîne "orange" jusqu'à la ligne n° 5 | ||
Ligne 661: | Ligne 667: | ||
<note important> | <note important> | ||
- | Il faut trois "genres d'objets". Car si /regexp/ d'adressage correspond à chaîne, alors l'indication ''n'' n'arrêtera pas la substitution. | + | Il faut trois "genres d'objets". Car si /E.R./ d'adressage correspond à chaîne, alors l'indication ''n'' n'arrêtera pas la substitution. |
<code user> | <code user> | ||
sed '/[[:digit:]]/,3s/[[:digit:]]/GAGA/' sed1.txt | sed '/[[:digit:]]/,3s/[[:digit:]]/GAGA/' sed1.txt |