Remplacer chaine de caractere

Résolu
vindicien Messages postés 136 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,

Je souhaiterai remplacer le dernier octet d'un adresse IP à l'aide d'un script.
J'ai par exemple un fichier contenant

192.168.1.0
192.168.2.0
etc.

et j'aimerai qu'il devienne

192.168.1.253
192.168.2.253
etc.

je sais que je dois utiliser sed pour effectuer le remplacement mais comment faire comprendre que je dois remplacer la valeur après le 3eme point uniquement ?

Merci d'avance,

Vind'
A voir également:

2 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

[rep]$ cat plop
192.168.1.0
192.168.2.0

[rep]$ sed -i.bak 's/\(.*\.\).*/\1253/' plop

[rep]$ cat plop
192.168.1.253
192.168.2.253

[rep]$ 

;-))
0
vindicien Messages postés 136 Statut Membre 33
 
Merci pour ta réponse !!
Je revenais cocher le sujet à "résolu" car j'ai finalement trouvé la réponse en bidouillant les expressions regulières...

sed -i 's/.[0-9]*$/.253/g' adresses.txt

Ca revient à peu près au même je pense...

Le principal étant que ça marche !!!

Merci tout de même ;-)
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Le principal étant que ça marche !!!
C'est clair ;-))

Pour être plus précis et concis avec ta syntaxe :

 sed 's/[0-9]*$/253/'

0