Estoy tratando de reemplazar el contenido de algunas etiquetas HTML en una página HTML usando sed en un script bash. Por alguna razón, no estoy obteniendo el resultado correcto, ya que no está reemplazando nada. Tiene que ser algo muy simple/estúpido, ¿alguien se preocupa por ayudarme?Reemplazando el contenido de la etiqueta HTML usando sed
HTML para buscar/reemplazar en:
Unlocked <span id="unlockedCount"></span>/<span id="totalCount"></span> achievements for <span id="totalPoints"></span> points.
comando sed utilizado:
cat index.html | sed -i -e "s/\<span id\=\"unlockedCount\"\>([0-9]\{0,\})\<\/span\>/${unlockedCount}/g" index.html
El punto de esto es para analizar la página HTML y actualizar las cifras de acuerdo con algunos datos externos. Para una primera ejecución, el contenido de las etiquetas estará vacío, después de eso se llenarán.
EDIT:
Terminé usando una combinación de las respuestas que dieron como resultado el siguiente código:
sed -i -e 's|<span id="unlockedCount">\([0-9]\{0,\}\)</span>|<span id="unlockedCount">'"${unlockedCount}"'</span>|g' index.html
Muchas gracias a @Sorpigal, @tripleee, para @classic ¡la ayuda!
Este es un uso inútil del gato – Sorpigal
pero cambiando "cat" a f.e. "menos" realmente no resolverá mi problema ahora, ¿o sí? – Revell
No, pero 'sed '...' inputfile' lo hará, y es la única forma correcta de hacerlo si quiere usar' sed -i'. – tripleee