В результате работы некого скрипта, получаю строки, часть из которых ненужны. В данном примере нужно удалить интерфейсы, в которых ничего не меняется. Те нужно удалить строку если следующая начинается с «interface» (или если следующая начинается не с пробела). Например (удалить нужно помеченые звездочкой):
interface GigabitEthernet0/2.117*
interface GigabitEthernet0/2.118*
interface GigabitEthernet0/2.119*
interface GigabitEthernet0/2.120*
interface GigabitEthernet0/2.121*
interface GigabitEthernet0/2.122*
interface GigabitEthernet0/2.124
ip dhcp relay information option subscriber-id USER1
interface GigabitEthernet0/2.125*
interface GigabitEthernet0/2.126*
interface GigabitEthernet0/2.127*
interface GigabitEthernet0/2.128*
interface GigabitEthernet0/2.800*
interface GigabitEthernet0/2.802*
interface GigabitEthernet0/2.803*
interface GigabitEthernet0/2.804
ip dhcp relay information option subscriber-id USER10
Не могу осилить на sed\awk (хотя понимаю что нужно взять текст как строку и тогда /(interface[^\n]*?)\n(interface[^\n]*?)\n/\2/ прогнав раз 10 получить результат). Что то очень близкое нашел тут, но
sed '/^$/{:a N; /[^\n]/{s,^\n\+,\n,; b}; b a}'