Sostituisce le immagini \ (. *) "Con immagini / \ 1" in tutti i file?


2

Ho un sacco di file html e tutti i tag img hanno le barre nel modo sbagliato!

Ecco un esempio (tranne per il fatto che è una riga nel codice, divisa qui per facilitare la visualizzazione)

<a href=index.html><img src="images\homereg.png" /></a>
<img src="images\spacer.png" />
<a href=dogs.html><img src="images\dogsreg.png" /></a>
<img src="images\spacer.png" />
<a href=litters.html><img src="images\littersreg.png" /></a>
<img src="images\spacer.png" />
<a href=bredby.html><img src="images\bredbyreg.png" /></a>
<img src="images\spacer.png" />
<a href=contact.html><img src="images\contactreg.png" /></a>

Il mio problema con quello che ho provato finora è che sed è avido, quindi si abbina troppo e non lo sostituisce correttamente. Qualcosa di simile sed -i 's|images\\\(.*\)\"|images/\1\"|g' *sostituirà uno per riga, sta abbinando troppo. Ho provato alcune altre cose, ma sempre sulla stessa linea di questo.

Qual è la soluzione più semplice? Non sono limitato a sed, lo so solo meglio, quindi è quello che ho provato.

Risposte:


3

Controlla se questo funziona per te

sed "s/images\\\/images\\//g"

1
DIO MIO. Ho preso il problema troppo lontano. Questo è stato così semplice Grazie! sed 's|images\\|images/|g'
Rob,

2

Non usare espressioni regolari. Sostituisci semplicemente tutte le occorrenze di images\con images/.

Tutti gli editor di testo di base dovrebbero supportarlo.

Se vuoi usare sed:

sed 's|images\\|images/|g' filename.html

Sì, non ci avevo nemmeno pensato. :( Ora, se solo la mia ragazza si ricordasse di quando le ho detto che i file erano sensibili al maiuscolo / minuscolo. Devo passare attraverso ogni pagina e riparare le immagini rotte.
Rob
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.