Remplacer chaine de caractere

Résolu
vindicien Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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 40842 Date d'inscription   Statut Modérateur Dernière intervention   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 131 Date d'inscription   Statut Membre Dernière intervention   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 40842 Date d'inscription   Statut Modérateur Dernière intervention   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