На основании полезных ответов я получил here, я создал следующий скрипт, названный им convert_image_paths.command, поместив его в папку веб-сайта на моем Mac и дважды щелкнув по нему.Только что получил мой собственный сценарий - почему?
#!/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' {} ';'
К сожалению, вместо того чтобы изменить относительные пути изображения на сайте в новом КДС URL, он
- Рскладной вверх URL: http://mycdn.com/http://mycdn.com/images/myimage.png
- ли, что для каждого файла HTML/CSS на моя машина
Так что мой вопрос: а) есть ли тег для дебила и б) как исправить этот скрипт?
EDIT:
Позвольте мне прояснить мое намерение: Я хотел, чтобы применить изменения ко всем дорожкам изображения с Относительные URL в виде
"изображение/{myimagepath}"
или
"../images/{myimagepath}"
И это почему вы тестируете с помощью -e и используете только -i, когда знаете, что это работает. – Sorpigal
Не имеет никакого отношения к '-e'. Просто запустите его без '-i'; это опция, которая сообщает sed редактировать файлы вместо того, чтобы печатать результат в stdout. '-e' сообщает sed, что следующий аргумент - команда sed для выполнения. 'sed -e' полностью эквивалентен 'sed '; это в основном полезно для запуска нескольких команд. –
Cascabel