Verifique se isso funciona para você
sed "s/images\\/images\//g"
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.
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