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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *