將所有文件中的 images\(.*)" 替換為 images/\1" ?

將所有文件中的 images\(.*)" 替換為 images/\1" ?

我有一堆 html 文件,所有的 img 標籤都有錯誤的斜杠!

這是一個範例(除了程式碼中的一行之外,在此處拆分以便於查看)

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

到目前為止我所嘗試的問題是 sed 是貪婪的,所以它匹配太多並且沒有正確替換它。類似的東西sed -i 's|images\\\(.*\)\"|images/\1\"|g' *會每行替換一個,它匹配太多了。我嘗試過其他一些事情,但都與此相同。

最簡單的解決方案是什麼?我不限於 sed,我只是最了解它,所以這就是我嘗試過的。

答案1

檢查這是否適合您

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

答案2

不要使用正規表示式。只需將所有出現的 替換images\images/

所有基本的文字編輯器都應該支援這一點。

如果你想使用sed

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

相關內容