2016-07-19 3 views
0

Я хочу найти 'start') в файле /etc/init.d/fhem и написать код, который я прочитал из текстового файла в этот файл после инструкции выше. На данный момент я получаю сообщение о том, что мне нужно закрыть кронштейн от 'start'). Я думаю, что я должен замаскировать его должным образом, но до сих пор не повезло с этим. Может кто-нибудь дать мне недостающее звено?Bash sed как маскировать скобки

CocConf=$(<COC.txt)#Reading Cod from File to insert in other file 
sed -r "\'start\')/a $CocConf" /etc/init.d/fhem #Inserting said Code 

ответ

2

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

sed -r "/start\)/a\ 
$CocConf" /etc/init.d/fhem