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
du genre : `grep $nom titi|cut -d ':' -f1`=$nouveaunom..
merci
7 réponses
-
ModérateurSalut,
Regarde du côté de "sed"
man sed et l'option "-i"
-
Merci je vais essayer ca tout de suite
-
je n'ai pas reussi a faire ce que je voulais..
en fait j'ai pastrpocompris comment fonctionnait sed.. -
ModérateurRe-
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à ;-)) -
ca ne marche pas avec des variables..c'est normal?
-
ModérateurColle 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]$
;-)) -
merci beaucoup c'est exactement ce qu'il me fallait :)
@+-
-
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 ~]$
-