У меня есть такой файл
aaa bbb ccc ddd eee
Я хочу найти bbb и заменить следующие 2 строки на zzz. Окончательный результат должен быть
aaa bbb zzz zzz eee
Я попробовал Sed, я могу сделать для одной строки. Не уверен, как это сделать для 2 строк. Пожалуйста помоги. Заранее спасибо
Вы можете выбрать sed или awk:
sed '/bbb/{n;N;s|.*|zzz\ zzz|}' file
awk 'flag{print "zzz";flag--;next};/bbb/{flag=2};1' file
Если вы go для sed, убедитесь, что не заменяете одинарные кавычки на двойные.
С GNU sed:
sed '/bbb/,+2{ /bbb/b; s/.*/zzz/ }' file
С awk:
awk '/bbb/{print; getline; print "zzz"; getline; print "zzz"; next}1' file