Document recapitulatif pour sed

vieurou Messages postés 73 Statut Membre -  
 oeuf -
bonjour, connaissez vous un site internet ou un doc à télécharger récapitulant une somme d'exemple pour toutes les fonctions de sed (ou la plus grande partie ).
ça meviterai de perdre beaucoup de temp , le man ne donne pas d'exemple et pour trouver une info précise sur le net faut toujours chercher longtemps

par exemple au passage , comment inserer une ligne dans un fichier juste avant la première occurence d'un mot ?
le faire à chaque occurence est simple :
sed   '/\<motif\>/i \chaine_à_inserer' fichier_à_traiter

mais comment le limiter à uniquement la premiere occurence???

merci de vos réponse
Configuration: Linux
Firefox 2.0.0.6

7 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Tu peux déjà commencer par jeter un œil dans la FAQ de CCM, quelques exemples y sont répertoriés.

    Ensuite, je prépare actuellement une doc sur SED, qui j'espère sera la plus complète possible, en essayant d'expliquer au mieux certaines fonctionnalités très peu documentées et en y joignant justement des exemples concrets.

    En attendant tu peux jeter aussi un œil à "info sed" (si toutefois cette fonctionnalité est installée sur ton système et dont voici sa transcription sur la toile) qui recèle quelques exemples beaucoup plus d'infos que la page de "man".

    Sinon, pour ton problème, je m'y penche car c'est une éventualité à laquelle je n'avais pas pensé encore... je cherche donc ;-))
    0
  2. vieurou Messages postés 73 Statut Membre 2
     
    cool ben j'attend ton doc avec impatience

    merci de ta réponse
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Tiens pour ton problème essaie ça :
    sed   '0,/\<motif\>/{
    i \chaine_à_inserer
    }
    ' fichier_à_traiter
    J'ai pas réussi à l'insérer sur une seule ligne. Si quelqu'un a la solution, je suis preneur ;-))
    0
  4. vieurou Messages postés 73 Statut Membre 2
     
    quelque petit souci avec cette ligne
    sed   '0,/\<motif\>/{ i \chaine_à_inserer}' fichier_à_traiter

    mon script me declare automatiquement des variables du genre :

        entete
        const c0
        const c1
        const c2
        temp r4
        temp b3
        temp r8
        temp v2
        const c0
        const c1
        const c2
        int i1
        int i2...


    et je voudrait inserer une ligne vide entre chaque type de declaration afin d'avoir ça

     entete
        const c0
        const c1
        const c2
    
        temp r4
        temp b3
        temp r8
        temp v2
    
        int i1
        int i2...

    j'ai donc essayé sed -e '0,/\<temp\>/{ i \\n}' fichier mais il me retourne sed: -e expression n°1, caractère 0: `{' non refermée
    en faisant sed -i -e '0,/\<temp\>/ i \\n' fichier je n'ai pas d'erreur mais tous ce qui se trouve au dessus des temp est espace d'une ligne comme ceci
     entete
    
        const c0
    
        const c1
    
        const c2
    
        temp r4
        temp b3
        temp r8
        temp v2
    
        int i1
        int i2...


    un point qui peut peut-etre aider c'est que les types ont toujours le même ordre (les const en premier , temp en second , int ensuite) mais ils se peut qu'il n'y ai pas de variable d'un type donc pas de declaration de ce type (ça peut passer par exemple de const à directement int)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. oeuf
     
    http://www.dreamwvr.com/sed-info/sed-faq.html
    0
  7. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Merci le z'oeuf ;-))

    Bon, au passage je l'avions déjà celle-là ;-)

    @vieurou : Pour ton histoire d'insertion d'une ligne blanche avant la 1ère occurrence d'un motif et pour ton exemple cité plus haut :
    sed -e '0,/const/{//{x;p;x;}};0,/temp/{//{x;p;x;}};0,/int/{//{x;p;x;}};'
    ;-))
    0
    1. oeuf
       
      Merci le z'oeuf ;-))

      rends tout de suite ce bookmark il est pas pour toi!!!

      Bon, au passage je l'avions déjà celle-là ;-)

      c'était pour vieurou qui voulait un document récapitulatif :)
      0
    2. oeuf
       
      didon t'as pris du gallon: :)
      0
      1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > oeuf
         
        Vu que la place était vacante ;-)))

        Puisqu'on parle de gallon, je t'offre une pinte ;-)
        0
      2. oeuf > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        ah ben merci l'ami!
        0
  8. vieurou Messages postés 73 Statut Membre 2
     
    merci à vous
    0