Используя sed (GNU sed) 4.2.2, я хочу:
- Match
Line1 - Проверьте
Line2, чуть нижеLine1, если он равенString - Если это не - добавить
StringпослеLine1(или вставить перед темLine2
Что я пробовал:
echo -e "Line1\nLine2\nLine3" | sed '/Line1/n;/^String$/!iString'
но это возвращает:
Строка 1
строка
Line2
строка
Line3
Я также попробовал:
echo -e "Line1\nLine2\nLine3" | sed '/Line1/{n;/^String$/!iString}'
но возвращается
sed: -e выражение # 1, char 0: не найдено `{'
Я знаю, как сделать это по-другому, также используя sed, но я пытаюсь понять, как добиться этого точно так, как я описал выше. Также, пожалуйста, скажите мне, что не так с моим кодом.
