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 [29/07/2014 12:32]
Hypathie [Introduction]
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [29/07/2014 18:29]
Hypathie [Commandes de sed supportant les adressages universaux]
Ligne 151: Ligne 151:
 </​code>​ </​code>​
  
->Cette option permettant l'​utilisation de script sed, elle va donc influer sur la grammaire globale ​de sed.\\ Les commandes internes de sed doivent être inscrites dans le script, ce qui influe sur la syntaxe d'​appel des commandes internes. L'​utilisation du tampon n'​étant plus le même avec l'​utilisation d'un script sed, l'​effet de l'​option ''​-n''​ va changer.\\+<note tip> 
 +Cette option permettant l'​utilisation de script sed, elle va donc influer sur la possibilité d'​utiliser conjointement d'​autres options ​de sed.\\ Les commandes internes de sed doivent être inscrites dans le script, ce qui influe sur la syntaxe d'​appel des commandes internes. L'​utilisation du tampon n'​étant plus le même avec l'​utilisation d'un script sed, l'​effet de l'​option ''​-n''​ va changer.\\
    
 //Elle implique aussi la possibilité d'​utiliser les commandes de sed mises au point principalement pour l'​usage de scripts sed.\\ (Voir la troisième partie "​scripts sed avancés"​)//​ //Elle implique aussi la possibilité d'​utiliser les commandes de sed mises au point principalement pour l'​usage de scripts sed.\\ (Voir la troisième partie "​scripts sed avancés"​)//​
 +</​note>​
  
   * __**Éléments de syntaxe d'un script sed :**__   * __**Éléments de syntaxe d'un script sed :**__
Ligne 206: Ligne 208:
 /​([[:​digit:​]].){3}[[:​digit:​]]@lo/​a\bizarre ce Nono /​([[:​digit:​]].){3}[[:​digit:​]]@lo/​a\bizarre ce Nono
 </​code>​ </​code>​
->Dès lors qu'on utilise l'​option ''​-f'',​ l'​option ''​-e''​ n'est plus utilisable puisque le script enchaîne les commandes en les plaçant chacune sur une ligne ; 
->Mais l'​option ''​-r''​ doit être utilisable puisqu'​il peut y avoir dans le script sed une commande dont l'​adressage est une //E.R.// étendue. 
->De même l'​option ''​-i''​ doit être utilisable puisque un script sed doit servir à modifier un fichier texte !\\  
  
-Ainsi :+<note tip> 
 +Dès lors qu'on utilise l'​option ''​-f'',​ l'​option ''​-e''​ n'est plus utilisable puisque le script enchaîne les commandes en les plaçant chacune sur une ligne.\\  
 +Mais l'​option ''​-r''​ doit être utilisable puisqu'​il peut y avoir dans le script sed une commande dont l'​adressage est une //E.R.// étendue.\\  
 + 
 +De même l'​option ''​-i''​ doit être utilisable puisque un script sed doit servir à modifier un fichier texte !\\  
 +Cela se fait ainsi :
 <code user> <code user>
 sed -rf script2-sed -i sed-options sed -rf script2-sed -i sed-options
 </​code>​ </​code>​
 +</​note>​
 __Pour visualiser, utilisation d'une commande d'​affichage ( **cat** par exemple)__ même si ''​-n''​ n'a pas été utilisée((Lors de l'​utilisation d'un script sed sur un fichier, pour ce qui concerne les commandes d'​insertion (''​i''​),​ d'​ajout (''​a''​) et de changement (''​c''​),​ fort heureusement,​ par défaut, l'​affichage sur la sortie standard du tampon de travail de sed est annulé.\\ Ce n'est bien sûr pas le cas pour la commande de suppression ''​-s''​.))\\ ​ __Pour visualiser, utilisation d'une commande d'​affichage ( **cat** par exemple)__ même si ''​-n''​ n'a pas été utilisée((Lors de l'​utilisation d'un script sed sur un fichier, pour ce qui concerne les commandes d'​insertion (''​i''​),​ d'​ajout (''​a''​) et de changement (''​c''​),​ fort heureusement,​ par défaut, l'​affichage sur la sortie standard du tampon de travail de sed est annulé.\\ Ce n'est bien sûr pas le cas pour la commande de suppression ''​-s''​.))\\ ​
 //Attention l'​utilisation de l'​option ''​-n''​ est plus qu'​inutile !\\ En l'​utilisant,​ il ne resterait du fichier que ce qui lui aurait été ajouté.\\ La note ci-dessus en donne exemple.// //Attention l'​utilisation de l'​option ''​-n''​ est plus qu'​inutile !\\ En l'​utilisant,​ il ne resterait du fichier que ce qui lui aurait été ajouté.\\ La note ci-dessus en donne exemple.//
Ligne 345: Ligne 349:
 </​code>​ </​code>​
  
->Le titre "Ton sentiment comme atmosphère"​ est ajouté sur la la sortie standard.+>Le titre "Ton sentiment comme atmosphère"​ est ajouté sur la sortie standard.
  
 === "​a"​ : ajout après l'​adressage=== === "​a"​ : ajout après l'​adressage===
Ligne 1286: Ligne 1290:
 </​code>​ </​code>​
  
->la première ligne vide est matchée ​par /^$/ ;+>La première ligne vide est validée ​par se correspondance avec /^$/ ;
 >puis, N rend utilisable le caractère de nouvelle ligne (\n); >puis, N rend utilisable le caractère de nouvelle ligne (\n);
->puis D supprime de l'​espace de travail la ligne vide /^\n$/D enregistrée précédemment, +>puis D supprime de l'​espace de travail la ligne vide /^\n$/D enregistrée précédemment; 
->puis il passe à la ligne suivant qui est aussi une ligne vide, il fait le même travail,+>puis il passe à la ligne suivant qui est aussi une ligne vide, il fait le même travail;
 >enfin, il passe à la ligne "​fin"​ qui ne correspond pas à /^$/, et affiche le résultat avant de sortir. >enfin, il passe à la ligne "​fin"​ qui ne correspond pas à /^$/, et affiche le résultat avant de sortir.
-> Ainsi il peut supprimer ligne à ligne autant de ligne vide, afin que les les lignes du texte soit espace ​au plus d'un saut de ligne. ​+> Ainsi il peut supprimer ligne à ligne autant de lignes vides successives qu'il y en aurait, afin que toutes ​les lignes du texte ne soient espacées ​au plus que d'​un ​seul saut de ligne. ​
  
 ====La commande P (print) ==== ====La commande P (print) ====
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