#1 Le 19/03/2012, à 22:46
- Roguntu
sed: lire et ecrire en meme temps !!?? [Résolu]
Bonsoir
y a t'il un moyen plus propre de modifier un fichier texte que l'on lit avec cat ou sed pour y faire une modification sans passer par un fichier temporaire comme dans mon exemple ?
Ou bien est-ce la façon standard de faire ce genre de chose?
L'ideal serait de pouvoir faire ça:
sed "s/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/$NEWIP/g" $TF > $TF
mais dans ce cas mon fichier test deviens vide ;-)
#!/bin/bash
TF=test01.txt
NEWIP=22.22.22.22
sed "s/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/$NEWIP/g" $TF > $TF.tmp
mv $TF.tmp $TF
test01.txt
HTTP proxy = 10.10.10.10
SSL proxy = 10.10.10.10
FTP proxy = 10.10.10.10
Merci pour vos conseils de gourou !
Dernière modification par Roguntu (Le 19/03/2012, à 23:08)
Hors ligne
#2 Le 19/03/2012, à 22:49
- sputnick
Re : sed: lire et ecrire en meme temps !!?? [Résolu]
Il faut utiliser
sed -i 's@@@' FILE
Dernière modification par sputnick (Le 19/03/2012, à 22:49)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#3 Le 19/03/2012, à 23:07
- Roguntu
Re : sed: lire et ecrire en meme temps !!?? [Résolu]
Merci sputnick
mon nouveau code:
#!/bin/bash
TF=sed-test01.txt
NEWIP=22.22.22.22
sed -i "s/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/$NEWIP/g" $TF
C'est quand même mieux comme ça ;-)
Hors ligne
#4 Le 19/03/2012, à 23:37
- sputnick
Re : sed: lire et ecrire en meme temps !!?? [Résolu]
\o/
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne