すべてのファイルでimages \(。*)をimages / \ 1に置き換えますか?


2

私はたくさんの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が欲張っていることです。何かのようなもの sed -i 's|images\\\(.*\)\"|images/\1\"|g' * 1行に1つ置き換えられますが、マッチングが多すぎます。私は他のことを試したが、これと同じ方向に沿っている。

最も簡単な解決策は何ですか?私はsedに限ったことではありません、私はそれを最もよく知っているので、それが私が試したことです。

回答:


3

これがあなたのために働くかどうか確認してください

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

1
何てことだ。私はその問題をやり過ぎた。これはとても簡単でした。ありがとうございます。 sed 's|images\\|images/|g'
Rob

2

正規表現を使わないでください。すべての出現箇所を置き換えてください images\images/

すべての基本的なテキストエディタはそれをサポートするべきです。

使いたい場合 sed

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

ええ、私もそれについて考えていませんでした。 :(ファイルを大文字と小文字を区別するように言ったときに私のガールフレンドだけが記憶していたら。
Rob
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.