El shell de linux: Usando variables con el comando sed | Algo de Linux

viernes, 20 de diciembre de 2013

El shell de linux: Usando variables con el comando sed

Imaginemos que, mediante el comando ip almacenamos en una variable la dirección de red de nuestra máquina. Por ejemplo, si ejecutamos:

# ip route | grep -oiE '([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}'

Obtendremos una salida parecida a ésta:

192.168.1.0/24

Si almacenamos el resultado en una variable:

# RED = `ip route | grep -oiE '([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}'`

Y queremos usar dicha variable para sustituir un patrón con el comando sed, de la siguiente manera:

# sed -i "s/NETWORK/$RED/g" fichero.conf 

Obtendremos un error. 

Para solucionarlo, lo mejor es utilizar una sintaxis alternativa:

# sed -i "s|NETWORK|$RED|g" fichero.conf 

Publicado por primera vez en http://enavas.blogspot.com.es

No hay comentarios: