2015-04-27 2 views
-1

Я застрял в проблеме, когда я пытаюсь изменить запись crontab с sed и regex.sed и regex для изменения crontab

Содержание кронтаб:

40 09 21 02 * cd /toto/tata && ./script.sh 1>../log/script_customer1.log 2>../log/script_customer1.err #customer1 #type1 #editable 
00 19 21 05 * cd /toto/tata && ./script.sh 1>../log/script_customer2.log 2>../log/script_customer2.err #customer2 #type1 #editable 

Мой сценарий:

cust_hrt="#customer1 #type1" 
crontab -l | sed -e 's/\([0-9]*\) \([0-9]*\) \([0-9]*\) \([0-9]*\) \(.*${cust_hrt} #editable\)/30 22 25 05 \5/' 

, но он не работает. Если я пытаюсь непосредственно:

crontab -l | sed -e 's/\([0-9]*\) \([0-9]*\) \([0-9]*\) \([0-9]*\) \(.*#customer1 #type1 #editable\)/30 22 25 05 \5/'` 

затем он работает.

Я не понимаю. Я что-то пропустил с переменной?

ответ

0

Переменная внутри одинарных кавычек не интерполируется. Он должен работать, если вы переключитесь на использование двойных кавычек для команды sed.

+0

какой дамп я :) большое спасибо! –

Смежные вопросы