Substitui imagens \ (. *) “com imagens / \ 1” em todos os arquivos?

2

Eu tenho um monte de arquivos html, e todas as tags img têm as barras no caminho errado!

Veja um exemplo (exceto 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>

O meu problema com o que tentei até agora é que o sed é ganancioso, por isso é combinar muito e não substituí-lo corretamente. Algo como sed -i 's|images\\(.*\)\"|images/\"|g' * substituirá um por linha, está combinando muito. Eu tentei algumas outras coisas, mas ao longo da mesma linha como esta.

Qual é a solução mais fácil? Eu não estou limitado a sed, eu apenas o conheço melhor, então é o que eu tentei.

    
por Rob 23.01.2012 / 19:34

2 respostas

3

Verifique se isso funciona para você

sed "s/images\\/images\//g"
    
por 23.01.2012 / 19:42
2

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

Todos os editores de texto básicos devem suportar isso.

Se você quiser usar sed :

sed 's|images\|images/|g' filename.html
    
por 23.01.2012 / 19:48