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
Breve pero intenso ;)
Gracias por el tip que a más de uno nos viene de perlas a la hora de recordar cómo se hacía (nunca recuerdo las dichosas comillas)
Gracias compañero
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 :)
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