たくさんの HTML ファイルがあるのですが、すべての img タグのスラッシュが間違った方向に入っています。
以下に例を示します (ただし、コード内の 1 行ですが、見やすいように分割されています)
<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 が貪欲なので、一致が多すぎて適切に置換されないことです。1sed -i 's|images\\\(.*\)\"|images/\1\"|g' *
行につき 1 つ置換するようなものは、一致が多すぎます。他にもいくつか試しましたが、すべてこれと同じ傾向です。
最も簡単な解決策は何ですか? sed に限定されているわけではありませんが、sed を最もよく知っているので、それを試してみました。
答え1
これがあなたに当てはまるかどうか確認してください
sed "s/images\\\/images\\//g"
答え2
正規表現は使用しないでください。 のすべての出現を に置き換えるだけimages\
ですimages/
。
すべての基本的なテキスト エディターはこれをサポートする必要があります。
使用したい場合sed
:
sed 's|images\\|images/|g' filename.html