Поиск буквенных строк с регулярным выражением, когда строка поиска содержит специальные символы, иногда не так прост, как поиск шаблонов, но вы можете сделать это с небольшим количеством жонглирования. 
Примечание: команда echo должна обслуживать специальные символы CMD, поэтому ей нужно ^^ для экранирования одиночных ^ и ^| убежать | ... Вам не нужен escape-символ CMD ^ если вы печатаете прямо в файл.   
Шаг 1: Создайте файл с именем literal-srch-strings.txt, который содержит точную (неизмененную) строку для замены.  Есть 2 способа создать этот файл:      
Как команда, введенная в командной строке CMD, или как команда из командного сценария.cmd/.bat.  
echo sed -i^^/\\*$/$[{" ;"> literal-srch-strings.txt
 
Сделайте literal-srch-strings.txt самостоятельно, в своем текстовом редакторе.
В этом случае вам не следует использовать CMD-escape-символ ^ , поэтому строка имеет только один ^ , а не ^^ - это потому, что вы обходите оболочку CMD.
Вот что нужно в файле .txt (так же, как указано в имени файла :)    
sed -i^/\\*$/$[{" ;"
 
Шаг 2: Создайте скрипт sed с именем str-to-regex.sed для преобразования строки (строк) в sed regex (s).
Обратите внимание, что та же проблема CMD-escape-символа ^ применима к этому шагу, поэтому, опять же, есть два способа создать файл .sed:  
Как команда:    
echo s/[]\/$*.^^^|[]/\\^&/g; s/.*/s\/^&\/Ciao!\/g/> str-to-regex.sed
 
Используя ваш текстовый редактор, создайте файл с именем str-to-regex.sed, содержащий: 
s/[]\/$*.^|[]/\\&/g; s/.*/s\/&\/Ciao!\/g/      
 
Шаг 3: Запустите sed-скрипт, который преобразует строку в регулярное выражение sed, и
отправьте свой вывод другому sed-скрипту replace-text.sed, который будет выполнять фактическую замену.    
sed -f str-to-regex.sed  literal-srch-strings.txt > replace-text.sed
Шаг 4: Запустите replace-text.sed - для теста мы можем использовать literal-srch-strings.txt в качестве входного файла, но вы, конечно, можете использовать любой входной файл.   
sed -f replace-text.sed  literal-srch-strings.txt
Вот вывод:  
Ciao!