logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 14:37]
Hypathie [La commande s]
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [27/07/2014 16:30]
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 216: Ligne 216:
 </​note>​ </​note>​
  
-=====Les ​rapport ​d'​implication /​adressages/​ <=> commandes de sed=====+=====Les ​rapports ​d'​implication /​adressages/​ <=> commandes de sed=====
 <note tip> <note tip>
 **Analyse de l'​implication : ''/​adressages/''​ <=> ''​cmd_de_sed''​ **Analyse de l'​implication : ''/​adressages/''​ <=> ''​cmd_de_sed''​
Ligne 281: Ligne 281:
 <note important>​ <note important>​
 __Attention avec l'​adressage simple !__\\  __Attention avec l'​adressage simple !__\\ 
-  * Avec l'​adressage simple par numéro de lignes, seule la ligne indiquée par le numéro est traitée.+  * Avec l'​adressage simple par numéro de ligne, seule la ligne indiquée par le numéro est traitée.
   * Avec l'​adressage simple par l'​encadrement ''/'',​ toutes les lignes qui correspondent à ''/​expression régulière/''​ sont traitées .   * Avec l'​adressage simple par l'​encadrement ''/'',​ toutes les lignes qui correspondent à ''/​expression régulière/''​ sont traitées .
 </​note>​ </​note>​
Ligne 288: Ligne 288:
 ===Adressage double === ===Adressage double ===
  
-C'est une paire d'​adresses simples séparées 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.  
-  * deux numéro ​de ligne ''​n,​m**cmd_sed**''​ : l'​analyseur de sed traite les lignes comprises entre les deux adresses, et celles des adresses aussi.\\  +  * deux numéros ​de ligne ''​n,​m**cmd_sed**''​ : l'​analyseur de sed traite les lignes comprises entre les deux adresses, et celles des adresses aussi.\\  
-  * deux encadrements ''/​ER1/,/​ER2/''​ : l'​analyseur de sed traite les lignes ​comprises ​délimitées par les //E.R// de début et de fin en prenant le nombre de lignes le plus large((c'​est-à-dire,​ si l'E.R. de début figure entre les deux adressages, il traite le plage la plus grande.))+  * deux encadrements ''/​ER1/,/​ER2/''​ : l'​analyseur de sed traite les lignes délimitées par les //E.R// de début et de fin en prenant le nombre de lignes le plus large((c'​est-à-dire,​ si l'E.R. de début figure entre les deux adressages, il traite le plage la plus grande.))
   * combinaison ''​n,/​ER/''​ : La plage est constituée à partir de la ligne numéro ''​n'',​ jusqu'​à la première ligne reconnue par le //E.R.//   * combinaison ''​n,/​ER/''​ : La plage est constituée à partir de la ligne numéro ''​n'',​ jusqu'​à la première ligne reconnue par le //E.R.//
   * 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''​.
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===+===Les ​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
Ligne 803: Ligne 809:
 </​code>​ </​code>​
  
-=====sed : commande d'​adressage et script avancé =====+=====sed : commande d'​adressage et script avancé=====
utilisateurs/hypathie/tutos/sed-par-la-methode-structuraliste.txt · Dernière modification: 13/11/2014 09:31 par Hypathie

Pied de page des forums

Propulsé par FluxBB