Sed, не работающие в, колотят сценарий

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

Описание проблемы: Я должен заменить символ в файле, и я могу сделать это легко использование командной строки:

sed -e 's/pattern1/pattern2/g' full_path_to_file/file

Но когда я использую ту же строку в сценарии удара, я, может казаться, не могу заменить ее, и я не получаю сообщение об ошибке, просто содержание файла без замены.

#!/bin/sh

VAR1="patter1"
VAR2="patter2"

VAR3="full_path_to_file"

sed -e 's/${VAR1}/${VAR2}/g' ${VAR3}

Любая справка ценилась бы.

Большое спасибо в течение Вашего времени.

14
задан Isabelle 10 June 2010 в 15:06
поделиться

1 ответ

Попробуйте

sed -e "s/${VAR1}/${VAR2}/g" ${VAR3}

Ссылка на Bash говорит:

Символы ‘$’ и ‘'’ сохраняют свое особое значение в двойных кавычках

Таким образом, он сможет разрешить ваши переменные

29
ответ дан 1 December 2019 в 09:01
поделиться