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 [29/07/2014 19:14] Hypathie [Les rapports d'implication /adressages/ <=> commandes de sed] |
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [30/07/2014 08:11] Hypathie [La commande s] |
||
---|---|---|---|
Ligne 48: | Ligne 48: | ||
^options ^significations ^ | ^options ^significations ^ | ||
|''-e'' |enchaîner plusieurs commandes | | |''-e'' |enchaîner plusieurs commandes | | ||
- | |''-r'' |utiliser les expressions régulières étendues dans un script | | + | |''-r'' |utiliser les [[utilisateurs:hypathie:tutos:sed-et-les-expressions-rationnelles|expressions régulières étendues]] dans un script | |
|''-n'' |mode silencieux : permet de ne rien modifier\\ associée au drapeau p (print)\\ (affichage sur la sortie standard) | | |''-n'' |mode silencieux : permet de ne rien modifier\\ associée au drapeau p (print)\\ (affichage sur la sortie standard) | | ||
|''-f'' |Les commandes sont lues à partir d'un fichier préalablement rédigé. | | |''-f'' |Les commandes sont lues à partir d'un fichier préalablement rédigé. | | ||
Ligne 125: | Ligne 125: | ||
=== Options -i avec -r , -n , -e === | === Options -i avec -r , -n , -e === | ||
- | Lorsqu'on a besoin d'adresser au moyen d'une //E.R.// étendue, et de modifier réellement, il faut associer les options ''-r'' et ''-i''.\\ | + | Lorsqu'on a besoin d'adresser au moyen d'une [[utilisateurs:hypathie:tutos:sed-et-les-expressions-rationnelles|expression régulière étendue]], et de modifier réellement, il faut associer les options ''-r'' et ''-i''.\\ |
La syntaxe est toujours ''-ri'' , et non pas -ir.\\ | La syntaxe est toujours ''-ri'' , et non pas -ir.\\ | ||
On peut associer d'autres options, après ''-ri'' | On peut associer d'autres options, après ''-ri'' | ||
Ligne 309: | Ligne 309: | ||
* un numéro de ligne (les lignes sont numérotées à partir du chiffre 1); | * un numéro de ligne (les lignes sont numérotées à partir du chiffre 1); | ||
* le caractère ''$'' désignant la dernière ligne; | * le caractère ''$'' désignant la dernière ligne; | ||
- | * [[utilisateurs:hypathie:tutos:sed-et-les-expressions-rationnelles|une expression régulière]] encadrée par des caractères ''/''; | + | * par l'encadrement /ER/cmd : [[utilisateurs:hypathie:tutos:sed-et-les-expressions-rationnelles|une expression régulière]] encadrée par des caractères ''/''; |
Ligne 940: | Ligne 940: | ||
L'expression ''n ~ m'' ou ''n~m'' signifie simplement :\\ | L'expression ''n ~ m'' ou ''n~m'' signifie simplement :\\ | ||
- | " la E.R matche toutes les ''n''ième ligne(s) d'un fichier et cela en sautant un nombre de ligne égal à un écart (~) qui est lui-même égal, à la différence entre le nombre ''m'' avec la première ligne du fichier (c'est-à-dire la position ordinal 1). On connaît donc le nombre de ligne sautée en faisant toujours ''m - 1''." | + | La E.R sélectionne toutes les ''n''ième ligne(s) d'un fichier et cela en sautant un nombre de ligne(s) égal à un écart (~). Cet écart est égal à la différence __entre le nombre ''m'' avec la première ligne du fichier__ (c'est-à-dire la position ordinal 1). On connaît donc le nombre de ligne(s) sautée(s) en faisant toujours ''m - 1''." |
- | Et si ''n'' est égal à zéro, alors le E.R. match toutes les ''m''ièmes lignes à partir de la ligne ''m'' et saute ''m'' - 1 ligne(s). | + | Et si ''n'' est égal à zéro, ''n'' devient la position ordinale 1 du fichier en plus l'adressage de début. Donc la E.R. match toutes les ''m''ièmes lignes à partir de la ligne ''n'', et saute ''m'' - 1 ligne(s). |
- | * ''1 ~ 2'' : matche les lignes impaires : 1ière, 3ième, 5ième, etc.\\ En effet, de la première ligne du fichier à ''m'' (''m'' = 2), il y a 1. Il sera sauté 1 ligne non-matchée et cela à partir de la ligne n°1 (''n'' = 1). Donc la sélection concerne la première ligne et saute 1 ligne, matche la 3ième ligne et saute 1 ligne, etc. | + | * ''1 ~ 2'' : sélection des lignes impaires : 1ière, 3ième, 5ième, etc.\\ En effet, de la première ligne du fichier jusqu'à ''m'', il y a 1 (''m'' = 2 et 2 - 1 =1). Il sera sauté 1 ligne non-sélectionnée et cela à partir de la ligne n°1 (''n'' = 1 = la position ordinale). Donc la sélection concerne la première ligne, saut d'une ligne, sélection de la 3ième ligne, saut 1 ligne, etc. |
- | * ''2~3'' : matche les lignes 2 ; 5 ; 8 ; 11\\ L'écart sauté sera de 2 car de la position 3 (''m'' = 3) à la première ligne du fichier, il y a deux lignes (3-1=2), et cela commence à la deuxième ligne (''n'' = 2). Donc la deuxième ligne est matchée, deux lignes sont sautées (3ième et 4 ième), la 5 ième est matchée, etc. | + | * ''2~3'' : sélection les lignes 2 ; 5 ; 8 ; 11\\ L'écart sauté sera de 2 car l'écart entre la position 3 (''m'' = 3) et la première ligne du fichier, est de 2 lignes (3 - 1 = 2), et cela commence à la deuxième ligne (''n'' = 2). Donc la deuxième ligne est sélectionnée, deux lignes sont sautées (3ième et 4 ième), la 5 ième est sélectionnée, etc. |
- | * 10 ~ 5 : sélection des lignes 10 ; 15 ; 20 ; 25 etc. 5 - 1 = 4 : Il sera sauté 4 lignes non-matchées à partir de la ligne 10. | + | * 10 ~ 5 : sélection des lignes 10 ; 15 ; 20 ; 25 etc. (5 - 1 = 4 : Il sera sauté 4 lignes non-sélectionnées, à partir de la ligne 10). |
- | * 0~5 : sélection des lignes 5 ; 10 ; 15 etc.\\ m-1 = 5-1 = 4 lignes sautées, à partir de la cinquième ligne (''m'' = 5 ). | + | * 0~5 : sélection des lignes 5 ; 10 ; 15 etc.\\ (L'écart est égal à m - 1 = 5-1 = 4 ; donc 4 lignes sautées, à partir de la cinquième ligne (''m'' = 5 ). |
* Exemple 1: | * Exemple 1: |