замените old-link-url на new-link-url с помощью sed - PullRequest
3 голосов
/ 17 декабря 2011

Я пишу скрипт на bash, который заменит old-link-url на new-link-url Моя проблема в том, что Sed не может заменить URL из-за косой черты. Если я добавлю только текст, это сработает.

мой код

sed -e s/"$old_link"/"$new_link"/g wget2.html > playlist.txt

Ответы [ 2 ]

11 голосов
/ 17 декабря 2011

sed поддерживает любой символ в качестве разделителя, поэтому, если шаблон, который вы пытаетесь заменить, содержит /, используйте другой разделитель. Чаще всего используются # и |

sed  's|foo|bar|g' input
sed  's#foo#bar#g' input
1 голос
/ 17 декабря 2011

Не забудьте поставить double quotes, если вы используете variables в sed замене. Кроме того, если ваша переменная имеет /, тогда используйте другой разделитель для sed. Вы можете использовать _, %, |, # и многие другие.

Так что может быть что-то подобное сработает -

sed -e "s_"$old_link"_"$new_link"_g" wget2.html > playlist.txt
...