Sto cercando di sostituire il contenuto di alcuni tag HTML in una pagina HTML usando sed in uno script bash. Per qualche motivo non sto ottenendo il risultato corretto in quanto non sostituisce nulla. Deve essere qualcosa di molto semplice/stupido che si affaccia, qualcuno si preoccupa di aiutarmi?Sostituzione del contenuto del tag HTML tramite sed
HTML alla ricerca/sostituisce in:
Unlocked <span id="unlockedCount"></span>/<span id="totalCount"></span> achievements for <span id="totalPoints"></span> points.
comando sed usato:
cat index.html | sed -i -e "s/\<span id\=\"unlockedCount\"\>([0-9]\{0,\})\<\/span\>/${unlockedCount}/g" index.html
Il punto di questo è di analizzare la pagina HTML e aggiornare i dati secondo alcuni dati esterni. Per una prima esecuzione, il contenuto dei tag sarà vuoto, dopo di che saranno riempiti.
EDIT:
ho finito per usare una combinazione delle risposte che ha portato alla seguente codice:
sed -i -e 's|<span id="unlockedCount">\([0-9]\{0,\}\)</span>|<span id="unlockedCount">'"${unlockedCount}"'</span>|g' index.html
Molte grazie a @Sorpigal, @tripleee, @classic per l'aiuto!
Questo è un uso inutile del gatto – Sorpigal
ma cambia "cat" in f.e. "meno" non risolverà il mio problema ora vero? – Revell
No, ma "sed" ... "file di input" sarà, ed è l'unico modo corretto di farlo se si vuole usare 'sed -i'. – tripleee