SHELL

Comment on peut faire pour remplacer un bout de fichier a l'aide d'un script shell?

du genre : `grep $nom titi|cut -d ':' -f1`=$nouveaunom..
merci

7 réponses

  1. merci beaucoup c'est exactement ce qu'il me fallait :)
    @+
    0
    1. J'aurais aussi aimé savoir si c'etais possible(avec sed ou autre ) de supprimer une partie d'une ligne
      Merci
      0
    2. Modérateur
      @lockeSalut,

      oui c'est possible
      J'ai supprimé (avec sed ou autre)
      [lamitest@localhost ~]$ cat vider.txt
      Ajouté par locke (05/01/2006 à 23:50 GMT+1)
      
      J'aurais aussi aimé savoir si c'etais possible(avec sed ou autre ) de
      supprimer une partie d'une ligne
      Merci
      
      
      [lamitest@localhost ~]$ perl -pi -e 's/(.*)\([\w\s]+\)(.*)/$1$2/' vider.txt
      [lamitest@localhost ~]$ cat vider.txt
      Ajouté par locke (05/01/2006 à 23:50 GMT+1)
      
      J'aurais aussi aimé savoir si c'etais possible de
      supprimer une partie d'une ligne
      Merci
      
      
      [lamitest@localhost ~]$
      
      0
  2. Modérateur
    Colle un exemple de ce que tu veux faire, on avancera plus vite ;-))

    Mais pour que les variables soient prisent en compte, il faut les exclure des "quotes simples " (' ') qui font partie de la syntaxe de "sed".
    Autrement dit la syntaxe doit ressembler à ça :
    [jp@Mandrake tmpfs]$ VAR1=fichier
    
    [jp@Mandrake tmpfs]$ echo $VAR1
    fichier
    
    [jp@Mandrake tmpfs]$ cat fichier.txt
    Bonjour,
    
    Comment on peut faire pour remplacer un bout de code a l'aide d'un script shell?
    
    Merci
    
    [jp@Mandrake tmpfs]$ sed  's/code/'$VAR1'/' fichier.txt
    Bonjour,
    
    Comment on peut faire pour remplacer un bout de fichier a l'aide d'un script shell?
    
    Merci
    [jp@Mandrake tmpfs]$
    Ou entouré la syntaxe de "sed" par des guillemets (double-quotes) :
    [jp@Mandrake tmpfs]$ sed  "s/code/$VAR1/" fichier.txt
    
    Bonjour,
    
    Comment on peut faire pour remplacer un bout de fichier a l'aide d'un script shell?
    
    Merci
    [jp@Mandrake tmpfs]$
    ;-))
    0
    1. ca ne marche pas avec des variables..c'est normal?
      0
      1. Modérateur
        Re-

        Voilà un exemple : dans le texte contenu dans le fichier "fichier.txt", remplacer le mot "fichier" par le mot "code".
        [jp@Mandrake tmpfs]$ cat fichier.txt
        Bonjour,
        
        Comment on peut faire pour remplacer un bout de fichier a l'aide d'un script shell?
        
        Merci
        
        [jp@Mandrake tmpfs]$ sed -i 's/fichier/code/' fichier.txt
        
        [jp@Mandrake tmpfs]$ cat fichier.txt
        Bonjour,
        
        Comment on peut faire pour remplacer un bout de code a l'aide d'un script shell?
        
        Merci
        
        [jp@Mandrake tmpfs]$
        Voilà ;-))
        0
        1. je n'ai pas reussi a faire ce que je voulais..
          en fait j'ai pastrpocompris comment fonctionnait sed..
          0
          1. Merci je vais essayer ca tout de suite
            0
            1. Modérateur
              Salut,

              Regarde du côté de "sed"
              man sed et l'option "-i"
              0