Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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