Блокировка исходящих запросов к определенным доменам, например. фейсбук, твиттер

Есть некоторые проблемы с кодом, который вы пробовали.

Во-первых, все будет проще, если вы выберете символ, который нигде не отображается в тексте, в качестве разделителя для команды s///. Кроме того, вы должны экранировать \любое появление разделителя в вашем тексте.

В вашей первой команде

sed -i -e 's/\(<span class=\"symbol\">\)&#58771;\(<\/span>\)/\[/&#58771;\]/\{custom-style=\"symbol\"\}/g'myfile.md

ошибка, которую вы получаете, связана с /в [/&#58771;\], которая не экранирована.

Кроме того, чтобы поместить литерал &в выходной текст, вы должны экранировать его с помощью \в вашем выражении замены. В противном случае &интерпретируется как особое и заменяется соответствующей частью пространства шаблонов.

Для простоты здесь я удалил (, возможно? )ненужные escape-символы и, возможно, пара (? )ненужные/(из[/&#58771;\]/\{custom-style=\"symbol\"\}). Я также выбрал |в качестве разделителя для команды s///, так как он не появляется в вашем вводимом тексте. Команда становится:

sed -e 's|<span class="symbol">&#58771;</span>|[\&#58771;]{custom-style="symbol"}|g'

Вот что он делает:

$ echo '<span class="symbol">&#58771;</span>' | sed -e 's|<span class="symbol">&#58771;</span>|[\&#58771;]{custom-style="symbol"}|g'
[&#58771;]{custom-style="symbol"}

Если строка &#58771;не является статической и вы хотите заменить <span class="symbol">на [и </span>на ]{custom-style="symbol"}вокруг нее, каким бы ни было ее значение, вы можете использовать группу захвата(())и обратная ссылка (здесь,\1):

sed -e 's|<span class="symbol">\(.*\)</span>|[\1]{custom-style="symbol"}|g'

Что делает эта команда:

$ echo '<span class="symbol">whatever is here</span>' | sed -e 's|<span class="symbol">\(.*\)</span>|[\1]{custom-style="symbol"}|g'
[whatever is here]{custom-style="symbol"}

Наконец, вы, как правило, предпочитаете использовать одинарные кавычки(')вместо двойных кавычек(")вокруг sedскриптов, чтобы защитить их от расширения параметров оболочки -, запускаемого $, чтобы избежать эффектов \...

-1
17.02.2021, 07:39
1 ответ

and I find that Firefox is ignoring my /etc/hosts file

Не должно, проверьте:https://bugzilla.mozilla.org/show_bug.cgi?id=1453207

Убедитесь, что вы используете Firefox 83 или более позднюю версию, в которой эта ошибка была исправлена. В качестве альтернативы попробуйте отключить DNS через HTTPS :https://support.mozilla.org/en-US/kb/firefox-dns-over-https

.
0
18.03.2021, 22:32

Теги

Похожие вопросы