Utilizar variables dentro de sed

Si necesitamos utilizar variables dentro de la ejecución del comando sed, si lo hacemos del modo «estandar» no funcionará correctamente:

sed -i '/${VARIABLE}/d' fichero

Será necesario utilizar comillas dobles en lugar de comillas simples, de ese modo funcionará correctamente:

sed -i "/${VARIABLE}/d" fichero

3 comentarios en “Utilizar variables dentro de sed

  1. En otros sitios dicen que se ha de sacar la variable fuera de las comillas (simples o dobles); pero realmente eso no funciona.

    Gracias por este consejo :)

  2. No me funciona, les dejo el código. El archivo consultas ya existe. creo que hay un problema en sed. Lo que quiero es que me deje algo así.
    «echo -e «ID: $id\nNombre: $nom_prod\nDescripción: $desc_prod\nPrecio base: $preciobase_prod\nFecha y hora de publicación: $fecha_hora\nPublicado por $usuario\n»
    por cada vez que cambia de linea

    el codigo
    #!/bin/bash
    clear
    read -p «Ingrese nombre o ID: » consulta
    grep -i «$consulta» articulo > consultas
    lineas=`wc -l consultas`
    i=1
    while $i> consultas_aux
    id=`cut -f1 -d: consultas`
    nom_prod=`cut -f2 -d: consultas`
    desc_prod=`cut -f3 -d: consultas`
    preciobase_prod=`cut -f4 -d: consultas`
    fecha_hora=`cut -f5 -d: consultas`
    usuario=`cut -f6 -d: consultas`
    let i=$i+1
    echo -e «ID: $id\nNombre: $nom_prod\nDescripción: $desc_prod\nPrecio base: $preciobase_prod\nFecha y hora de publicación: $fecha_hora\nPublicado por $usuario\n»
    done

Comments are closed.