私がhereを受け取った有益な回答に基づいて、convert_image_paths.commandという名前の次のスクリプトを作成し、それをmy macのウェブサイトフォルダに入れてダブルクリックしました。ちょうど私のsedスクリプトによって嫌にされた - なぜ?
#!/bin/bash
# This script will operate on valid relative image paths at this level and one sub-level down, across .html and .css files.
find . -name "*.css" -o -name "*.html" -exec sed -i '' 's/\.\.\/images\//images\//g' {} ';'
find . -name "*.css" -o -name "*.html" -exec sed -i '' 's/images\//http:\/\/mycdn\.com\/images\//g' {} ';'
残念ながら、代わりに新しいCDN URLにウェブサイトでの相対的な画像のパスを変更するのではなく、
- URLダブルアップ:http://mycdn.com/http://mycdn.com/images/myimage.png
- をしたとEVERY HTML/CSSファイルのために私のマシン
私の質問はa)そこにバカのためのタグがありますかb)このスクリプトを修正するにはどうすればいいですか?
EDIT:
は私が私の意図を明確にしましょう: 私は、フォーム
"画像/ {myimagepath}"
で相対URLを持つすべてのイメージのパスに変更を適用したいです
または
"../images/{myimagepath}"
そして、これがありますなぜあなたは-eでテストし、それが動作することを知っているときにのみ-iを使います。 – Sorpigal
'-e'とはまったく関係ありません。最初に '-i'なしで実行してください。これは、結果をstdoutに出力するのではなく、sedがその場でファイルを編集するように指示するオプションです。 '-e'は、次の引数が実行するsedコマンドであることをsedに伝えます。 'sed -e'は 'sed 'と全く同じです。これは主に複数のコマンドを実行するのに便利です。 –
Cascabel