[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Remplacement d'une chaine ds un fichier



Le samedi  7 juin 2003, à 22:05, Loick.B écrivait :
> Je voudrais être capable de remplacer dans un fichier une chaine donnée.
> J'y parviens à l'aide de la commande:
> "sed s/^admin$/toto/ /scripts/test/test.txt 
> >/scripts/test/newtest.txt"
> Mais il m'est impossible d'écrire dans le fichier lu (de le réecrire bref).
> Or je n'ai pas envie de supprimer, déplacer, et recopier...
> Je reste convaincu que, comme d'habithude, il reste une méthode infaillible et 
> très simple que je ne connais pas.

Si tu utilises le sed du GNU, tu obtiendras l'effet désiré avec
l'option "-i" :
sed -i s/^admin$/toto/ /scripts/test/test.txt

Tu as même la possibilité de conserver une copie de sauvegarde du
fichier original. info sed pour les détails (le man est assez
lapidaire).

Et oui, sed passe par un fichier temporaire pour cela, mais tout ce
qu'on lui demande, c'est de s'en occuper tout seul comme un grand et de
nettoyer derrière, non ?

Désolé si j'arrive un peu après la bataille...

Laurent

-- 
Une question ? La réponse est peut-être déjà dans la FAQ :
http://savannah.nongnu.org/download/debfr-faq/html/index.html



Reply to: