2015-10-01 4 views
0

Я хочу, чтобы заменить эту строку нижеЗаменить строку в Crontab с другой, используя Sed

0 */4 * * * sleep `expr ${RANDOM:0:4}/2` ; /sbin/service osad stop ;/bin/rm -f /etc/sysconfig/rhn/osad-auth.conf ; /sbin/service osad start ; /usr/sbin/rhn_check ; /usr/sbin/rhn-profile-sync 

с одним ниже в кронтаб, файл даже/вар/катушка/хрон/корень

1,11,21,31,41,51 * * * * /sbin/rhn_check 

ответ

0
sed 's|0 \*/4 \* \* \* sleep `expr ${RANDOM:0:4}/2` ; /sbin/service osad stop ;/bin/rm -f /etc/sysconfig/rhn/osad-auth.conf ; /sbin/service osad start ; /usr/sbin/rhn_check ; /usr/sbin/rhn-profile-sync|1,11,21,31,41,51 * * * * /sbin/rhn_check|' /var/spool/cron/root 

Выход:

 
1,11,21,31,41,51 * * * * /sbin/rhn_check 

Если вы хотите редактировать «я n place "добавить опцию -i.

+0

спасибо. Как я могу просто удалить первую строку только с использованием диких символов? Линия заканчивается синхронизацией rhn-profile. Я хочу удалить каждую перед синхронизацией rhn-profile до начала строки. –

+0

Чтобы удалить только первую строку, заканчивающуюся на «rhn-profile-sync»: 'sed '/ rhn-profile-sync $/{d; q}' file' – Cyrus

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