Substitui imagens\(.*)" por imagens/\1" em todos os arquivos?

Substitui imagens\(.*)" por imagens/\1" em todos os arquivos?

Eu tenho vários arquivos html e todas as tags img têm barras erradas!

Aqui está um exemplo (exceto que é uma linha no código, dividida aqui para facilitar a visualização)

<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>

Meu problema com o que tentei até agora é que o sed é ganancioso, então está combinando demais e não substituindo-o corretamente. Algo como sed -i 's|images\\\(.*\)\"|images/\1\"|g' *substituirá um por linha, está combinando demais. Eu tentei algumas outras coisas, mas todas na mesma linha que esta.

Qual é a solução mais fácil? Não estou limitado ao sed, apenas o conheço melhor, então foi o que tentei.

Responder1

Verifique se isso funciona para você

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

Responder2

Não use expressões regulares. Basta substituir todas as ocorrências de images\por images/.

Todos os editores de texto básicos deveriam oferecer suporte a isso.

Se você quiser usar sed:

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

informação relacionada