Tengo una expresión regular que debo verificar. La expresión regular tiene comillas dobles, pero parece que no puedo encontrar la forma de escapar de ellas.Bash Condición de expresión regular
Primer intento, no funciona ya que las comillas no se escapan.
while read line
do
if [[ $line =~ "<a href="(.+)">HTTP</a>" ]]; then
SOURCE=${BASH_REMATCH[1]}
break
fi
done < tmp/source.html
echo "{$SOURCE}" #output = {"link.html"} (with double quotes)
¿Cómo puedo ejecutar este adecuadamente lo que la salida es link.html sin comillas dobles.
He intentado ...
while read line
do
if [[ $line =~ "<a href=/"(.+)/">HTTP</a>" ]]; then
SOURCE=${BASH_REMATCH[1]}
break
fi
done < tmp/source.html
echo "{$SOURCE}" #output = {}
Sin suerte. ¿Alguien puede por favor ayudarme así puedo dejar de golpear mi cabeza en mi escritorio? No soy genial con Bash. ¡Gracias!
Ha intentado '' \\, es ahora el carácter de escape universales regognized en todo el mundo. – sln